number of subgroups index $p$ equals number of subgroups order $p$ I'm doing an exercise in Dummit's book "Abstract Algebra" and stuck for a long time. I think I'm doing in the right way but I can't finish it. Hope someone can help me. I really appreciate it.

Let $A$ be a finite abelian group and let $p$ be a prime. Let $A^{p} = \{a^{p}\mid a \in A\}$ and $A_{p} = \{x\mid x^{p} = 1\}$. Prove that $A/A^{p}$ is isomorphic to $A_{p}$, and the number of subgroups of $A$ of order $p$ equals the number of subgroups of $A$ of index $p$.

I can prove that $A/A^{p}$ is isomorphic to $A_{p}$, and every subgroups order $p$ of $A$ must be subgroups order $p$ of $A_{p}$. So the number of subgroups order $p$ of $A$ equals number of subgroups order $p$ of $A_{p}$. Moreover because of the previous result, we must have this number equals number of subgroups order $p$ in $A/A^{p}$. So we try to build a bijection from the set of all subgroups order $p$ of $A/A^{p}$ into set of all subgroups index $p$ of $A$. I think that it's possible, because every subgroup $N$ of $A$ is normal and $A/N$ is a group order $p$.
Can anyone help me go on in this way to solve this problem. I know there's a solution in Project Crazy Project, but I think that solution is cumbersome and not beautiful. 
Thanks
 A: We may assume $A=E_{p^r}$.
Since every nonidentity element in $A$ is of order $p$ and $A$ is abelian, we can generate a subgroup of order $p^{r-1}$ by the following procedure. First, we choose an element $x_1$ in $A\setminus\{1\}$ to get a subgroup $\langle{x_1}\rangle$ of order $p$; Second, choose an element $x_2\in A\setminus \langle{x_1}\rangle$ to get a subgroup $\langle{x_1,x_2}\rangle$ of order $p^2$; \dots; Finally, we can choose an choose an element $x_{r-1}\in A\setminus \langle{x_1,\dots,x_{r-2}}\rangle$ to get a subgroup $\langle{x_1,\dots,x_r}\rangle$ of order $p^{r-1}$. The total choices of this procedure is $(p^r-1)(p^r-p)\cdots(p^r-p^{r-2})$. However, there are $(p^{r-1}-1)(p^{r-1}-p)\cdots(p^{r-1}-p^{r-2})$ choices in this procedure will generate a same subgroup of order $p^{r-1}$. Therefore, the number of subgroups of $A$ of index $p$ is $\frac{(p^r-1)(p^r-p)\cdots(p^r-p^{r-2})}{(p^{r-1}-1)(p^{r-1}-p)\cdots(p^{r-1}-p^{r-2})}=\frac{p^r-1}{p-1}$.
Remark. It seems that by the same method, we can get for $1\leqslant i \leqslant r-1$, the number of subgroups of $E_{p^r}$ of order $p^i$ is $\frac{p^r-1}{p-1}$. They are all same!
A: Subgroups of $A$ with index $p$ give characters of $A$ with multiplicative order $p$, and so the number of subgroups of index $p$ in $A$ is equal to the number of subgroups of order $p$ in the character group of $A$. But a finite abelian group is isomorphic to its character group.
A: Consider the homomorphism "multiplication by $p$'' from $A$ to itself; the kernel is $A_p$ and the cokernel (quotient of the codomain by the image) is $A/A^p$.  Since $A$ itself is finite, an analogue of the rank nullity theorem in linear algebra shows that $A_p$ and $A/A^p$ have the same order.  Since they are abelian groups in which every element is killed by $p$, they can be thought of as vector spaces of the same finite dimension over $\mathbb F_p$.
Now subgroups of order $p$ are contained in $A_p$, and so are precisely the one-dimensional $\mathbb F_p$-vector subspaces of $A_p.$  On the other hand, subgroups of index $p$ have to contain $A^p$, and so are in bijection (under the quotient map) with the codimension one subspaces of $A/A^p$.
So now you are reduced to checking that if $V$ is a finite-dimensional vector space over $\mathbb F_p$, the number of one-dimensional subspaces and the number of codimension one subspaces are the same.  This can be checked by using the fact that $V^*$ (the dual space to $V$) and $V$ are (non-canonically) isomorphic, and that the one-dimensional subspaces of $V$ are put in bijection with the codimension one subspaces of $V^*$ by considering annihilators.  
[Note: this answer is the same in spirit as Chris Godsil's, but I have replaced duality theory for finite abelian groups by linear algebra over $\mathbb F_p$, which might be more familiar.] 
A: For further questions above in Biao's answer.....
You may use a book to algebra written by Dummit Foote.
See 1.4 (General linear group)
if we construct H(index p subgroup) as above, we may write 
$H = < h_1, ... ,h_{n-1} >$
(just change the notation from $x$ to $h$...)
then, When we can conclude that $F = < f_1, ... , f_{n-1} >$ is exactly same as previously constructed subgroup H?
F = H implies $ f_{i} = (h_{1})^{(e_{i,1})} * (h_{2})^{(e_{i,2})} * ... * (h_{n-1})^{(e_{i,n-1})}$
($e_{i,j}$ is integer $>=0$ and $<= p-1$)
Let $E=(e_{i,j})$ (n-1 by n-1 matrix).
Then F = H iff E has (n-1) linearly independent rows. 
(dim(Row space of E)) = n -1, and n-1 linearly independent vectors form a basis for Row space of E. It implies F = H) 
And the number of such cases : $(p^{(n-1)} - 1)*(p^{(n-1)} - p)*(p^{(n-1)} - p^{2})* ... *(p^{(n-1)} - p^{n-2})   $
(= (Choice of Row 1 (each n component may have p cases(0 ~ p-1) and we should exclude the case when all component is 0.)
(Choice of Row2 (we should exclude the cases Row2=0*Row1, Row2=1*Row1, ..., Row2 = (p-1)*Row1))
(...)
(Choice of Row n-1 (we should exclude the cases $Row (n-1) = (a_{1})*Row1 + (a_{2})*Row2+... +(a_{n-2})*Row (n-2))$)
