Finding subgroups of $\mathbb Z_4 \times \mathbb Z_2$. Why can't there be more? My solution consists of taking direct products of both $\mathbb Z_4$ and $\mathbb Z_2$ and then their direct product. Apart from that I took $\langle 2,0\rangle, \langle 2,1\rangle, \langle 1,1\rangle$ as subgroup generators and generated more subgroups by brute force.
This doesn't seem an efficient method. How do I know when I have to stop? This is a small question but in the context of bigger questions, how do I know when I have found all the subgroups.
 A: The magic words are “Goursat’s Lemma” (or “subdirect products”), but I don’t think you’ll find it less “work intensive”. It is a description of all subgroups of a direct product $G\times H$.
For general comments see here; for an example of an application see here.
Basically, if $G$ and $H$ are groups, then the subgroups of $G\times H$ correspond to the following five pieces of information:

*

*A subgroup $A$ of $G$;

*A normal subgroup $N$ of $A$;

*A subgroup $B$ of $H$;

*A normal subgroup $K$ of $B$;

*An isomorphism $f\colon (A/N)\to (B/K)$.

The 5-tuple $(A,N,B,K,f)$ then corresponds to the subgroup
$$S(A,N,B,K,f) = \{(g,h)\in A\times B\mid f(gN)=hK\}.$$
That these are all subgroups is fairly easy to verify; Goursat’s Lemma is the proof that every subgroup is of this form.
If you understand $G$ and $H$ very well, then this may lead to a less work-intensive process; but if not, then you end up having to list all subgroups of $G$ and their quotients, and all subgroups of $H$ and their quotients, and then all possible isomorphisms between pairs of such quotients.
For the example here it is relatively straightforward, but you may find it just as work-intensive as your original method.
The possible quotients-of-subgroups of $\mathbb{Z}_2$ are $\mathbb{Z}_2$ itself (with $B=\mathbb{Z}_2$ and $K=\{0\}$), and the trivial group (with either $B=K=\mathbb{Z}_2$, or $B=K=\{0\}$). The possible quotients-of-subgroups of $\mathbb{Z}_4$ are $\mathbb{Z}_4$ (with $A=\mathbb{Z}_4$, $N=\{0\}$), $\mathbb{Z}_2$ (with $A=\mathbb{Z}_4$ and $N=\langle 2\rangle$; and with $A=\langle 2\rangle$ and $N=\{0\}$); and the trivial group (with $A=N=\mathbb{Z}_4$, $A=N=\langle 2\rangle$, and $A=N=\{0\}$). So you get the following subgroups, when we pair the $\mathbb{Z}_2$s together, and when we pair the trivial groups together:

*

*When $A=\mathbb{Z}_4$, $N=\langle 2\rangle$, $B=\mathbb{Z}_2$, $K=\{0\}$, the subgroup consists or $(1,1)$, $(2,0)$, $(3,1)$, and $(0,0)$; i.e., $\langle (1,1)\rangle$.


*When $A=\langle 2\rangle$, $N=\{0\}$, $B=\mathbb{Z}_2$, $K=\{0\}$, the subgroup consists of $(2,1)$ and $(0,0)$; i.e., $\langle (2,1)\rangle$.


*When $A=N=\mathbb{Z}_4$ and $B=K=\mathbb{Z}_2$, you get $\mathbb{Z}_4\times\mathbb{Z}_2$.


*When $A=N=\mathbb{Z}_4$ and $B=K=\{0\}$, you get $\mathbb{Z}_4\times\{0\}$.


*When $A=N=\langle 2\rangle$ and $B=K=\mathbb{Z}_2$, you get the $\langle 2\rangle\times \mathbb{Z}_2$.


*When $A=N=\langle 2\rangle$ and $B=K=\{0\}$, you get $\langle 2\rangle\times\{0\}$.


*When $A=N=\{0\}$ and $B=K=\mathbb{Z}_2$ you get $\{0\}\times\mathbb{Z}_2$.


*When $A=N=\{0\}$ and $B=K=\{0\}$ you get $\{0\}\times\{0\}$.
