Calculating the number of subgroups of $\mathbb{Z}/p\mathbb{Z}\oplus\mathbb{Z}/p\mathbb{Z}$ Let $p$ be a prime. I want to find the number of subgroups of the group  $$G=\mathbb{Z}/p\mathbb{Z}\oplus\mathbb{Z}/p\mathbb{Z}$$.
My idea:
(1) The main problem is to find subgroups of order $p$. Any subgroup of order $p$ is of the form $$H=\langle(a,b)\rangle$$ where one of $a$ or $b$ is nonzero.
(2) For $0\leq i\leq p-1$, define the subgroup $$H_i=\langle(1,i)\rangle.$$ Define the subgroup $$K=\langle (0,1)\rangle.$$ Then the subgroups $K, H_0,\dots, H_{p-1}$ are distinct subgroups of order $p$.
(3) We claim that $$G=\left(\bigcup_{i=0}^{p-1}H_i\right)\bigcup K.$$ This follows from calculating the cardinality of the union. The subgroups $K, H_0,\dots, H_{p-1}$ are distinct subgroups of order $p$. Any two distinct subgroups of order $p$ intersect only at $(0,0)$. There are $p+1$ subgroups in the union and each of them contains $p-1$ nontrivial elements. So the cardinality of the union is 
$$\left|\left(\bigcup_{i=0}^{p-1}H_i\right)\bigcup K\right|=(p+1)(p-1)+1=p^2=|G|$$
(4) Since $$G=\left(\bigcup_{i=0}^{p-1}H_i\right)\bigcup K$$ if $\langle(a,b)\rangle$ is any subgroup of order $p$, then $\langle(a,b)\rangle$ is already considered in the union. Therefore $K, H_0,\dots, H_{p-1}$ are precisely all the distinct subgroups of order $p$.
(5) So the total number of subgroups of order $p$ is $p+1$. Hence the total number of subgroups is $p+3$. 
Is my calculation correct? What are the other methods to solve this problem?
 A: The argument in (3) and (4) is incomplete. You go from "the union of all these subgroups is all of $G$" to concluding "we must have found all the subgroups of order $p$," but don't explain why.
Indeed cardinality does not seem very relevant to me. Your idea of splitting subgroups of order $p$ into those of two types is a good one - it is an elementary version of the Schubert cell decomposition for projective spaces, $\mathbb{P}^n=\mathbb{A}^n\sqcup\mathbb{A}^{n-1}\sqcup\cdots\sqcup\mathbb{A}^1\sqcup\mathbb{A}^0$. (Don't worry about understanding that, I'm just saying your idea is one used in advanced math.)
To see that you've found every subgroup of order $p$, one can do so directly. Every such subgroup is cyclic, so generated by some $(a,b)$, and $\langle (a,b)\rangle$ is already in your list of found subgroups (with two cases depending on if $a=0$ or $a\ne0$).

Here is another argument that works more generally but you may find too abstract.
The subgroups of $\mathbb{Z}_p^2$ of size $p$ are cyclic, and this is a special case of counting $1$-dim subspaces of a vector space $V$ over a finite field $k$. Let $\mathbb{P}(V)$ be the collection of all $1$-dim subspaces of $V$ and write $V^{\times}$ for the subset of nonzero vectors in $V$. Every nonzero vector $v$ generated a $1$-dim subspace $\langle v\rangle=kv$, so there is a function $V^{\ast}\to \mathbb{P}(V)$ given by $v\mapsto\langle v\rangle$. Any fiber of this map is the set of nonzero vectors of a $1$-dim subspaces, of which there are $|k^{\times}|$-many. Therefore, the number of $1$-dim subspaces is $|V^{\times}|/|k^{\times}|$.
Explicitly, if $k=\mathbb{F}_q$ and $V=\mathbb{F}_q^n$ then this is $(q^n-1)/(q-1)=q^{n-1}+\cdots+q+1$ (which matches the decomposition $\mathbb{P}^{n-1}=\mathbb{A}^{n-1}\sqcup\cdots\sqcup\mathbb{A}^1\sqcup\mathbb{A}^0$).
This should not be surprising if you are familiar with group actions, since the $1$-dim subspaces minus the origin are precisely the orbits of $k^{\times}$ acting on $V^{\times}$ freely.
