For group $\mathbb{Z_{18}^*}$, how do I find all subgroups In my textbook, there is a cyclic Group $G=\mathbb{Z_{18}^*}$ which has the elements
$$\{1,5,7,11,13,17\}$$ 
And its subgroups are $U_1 = \{1\}$, $U_2 = \{1,17\}$ and $U_3 = \{1,7,13\}$
How did they come to these subgroups? I tried to use the Definition of subgroups, but could not come to these subgroups? how do I come to this result? why is $5$ being omitted? 
 A: We can verify that $$\langle 1 \rangle=\{1\},$$ $$\langle 5 \rangle=\{1,5,7,17,13,11\}=G,$$ $$\langle 7 \rangle=\{1,7,13\},$$ $$\langle 11 \rangle=\{1,11,13,17,7,5,1\}=G,$$ $$\langle 13 \rangle=\{13,7,1\}=\langle 7 \rangle,$$ $$\langle 17 \rangle=\langle -1 \rangle=\{1,17\}.$$
This gives the four subgroups $\{1\}$, $\langle 7 \rangle$, $\langle -1 \rangle$, and $G$.  We could argue that $G$ is cyclic, and thus any subgroup of $G$ is also cyclic, and thus this list is complete.
Alternatively, we see that any subgroup containing $5$ or $11$ must be $G$ itself.  Therefore, any subgroup without $5$ nor $11$ must (a) contain $1$, (b) be a subset of $\{1,7,13,17\}$ (c) contain either $1$, $2$ or $3$ elements, by Lagrange's Theorem.


*

*If it contains $1$ element, the subgroup must be $\{1\}$.

*If it contains $2$ element, the subgroup must be $\langle 17 \rangle$, since the elements $7$ and $13$ have order $3$.

*If it contains $3$ element, it cannot contain $17$ since it has order $2$, and a group of order $3$ cannot contain a subgroup of order $2$, by Lagrange's Theorem.  This leaves only $\langle 7 \rangle$.


So the four subgroups identified are all of the subgroups.
It looks like $\langle 5 \rangle$ is omitted since it's not a proper subgroup of $G$ (i.e., it equals $G$ itself).
A: Note that $$\mathbb Z_{18}^*\cong\mathbb Z_6=\{0,1,2,3,4,5\}$$ and $$\langle 1\rangle=\langle 5\rangle=\mathbb Z_6$$ The following codes in GAP, give you the desired subgroups:
gap> LoadPackage("sonata");;
     Z_18:=Units(Integers mod 18);;
     e:=Subgroups(Z_18);;
     for i in [1..Size(e)] do Print(e[i],"~",StructureDescription(e[i]),"\n"); od;


 Group( ... )~1
 Group( [ ZmodnZObj( 17, 18 ) ] )~C2
 Group( [ ZmodnZObj( 13, 18 ) ] )~C3
 Group( [ ZmodnZObj( 11, 18 ) ] )~C6

