How can we find all the subgroups? I want to find all the normal subgroups of $D_n$. 
We have that $K$ is a normal subgroup of $D_n$ iff $$gkg^{-1}=k\in K, \forall g\in D_n \text{ and } \forall k\in K$$ right? 
Could you give me some hints how we could find all these subgroups? 
 A: A good place to start is to determine the conjugacy classes of $D_n$. Since a subgroup $H$ is normal in $G$ iff $H$ is the union of some conjugacy classes of $G$, you can try to union two or more conjugacy classes and see if the order of the resulting potential subgroup divides $|G|$. This approach usually narrows down your research quite a bit.
A: You will likely need to distinguish the cases when $n$ is even and when $n$ is odd. To start off, try finding the conjugacy classes of $D_n$, and then take unions of these classes to see if they form subgroups of $D_n$ (because normal subgroups are those which are the union of conjugacy classes).
Let us take $D_4$ as a concrete example. We want to find the conjugacy classes of the elements of $D_4$, which can be split into two sets: the set of elements of the form $r^a$ and the set of elements of the form $r^as$ (for $0 \leq a \leq 3$).
To find the conjugacy class of $r^a$, we need to take elements of $D_4$, conjugate them with $r^a$, and see what results you have. The set of results you obtain is your conjugacy class of $r^a$. There are two cases for this arbitrary element: either it is in the form $r^b$ or $r^bs$ (again, for $0 \leq b \leq 3$). If we take an element of form $r^b$, we have $(r^b)r^a(r^b)^{-1}=r^br^ar^{n-b}=r^{b+a+n-b}=r^a$, so $r^a$ conjugates with $r^b$ to give back $r^a$. If we take an element of form $r^bs$, we have $(r^bs)r^a(r^bs)^{-1}=r^b(sr^a)(sr^{n-b})=r^br^{n-a}(ss)r^{n-b}=r^{b+n-a+n-b}=r^{n-a}$. Therefore, our set of results is $\{r^a,r^{n-a}\}$, so the conjugacy class of $r^a$ is $\{r^a,r^{n-a}\}$. If we go over all values of $a$, our distinct conjugacy classes are $\{\varepsilon\}$, $\{r,r^3\}$, and $\{r^2\}$.
We repeat this process for the element $r^as$. We have $(r^b)r^as(r^b)^{-1}=r^br^asr^{n-b}=r^br^ar^bs=r^{2b+a}s$, and $(r^bs)r^as(r^bs)^{-1}=r^bsr^a(ss)r^{n-b}=r^br^{n-a}sr^{n-b}=r^br^{n-a}r^bs=r^{b+n-a+b}s=r^{2b-a}s$. This is a bit more complicated since we ended up with a conjugacy class $\{r^{2b+a}s,r^{2b-a}s\}$, where $b$ can take on multiple values. What you will find is that since $2b$ is even, $2b+a$ and $2b-a$ are even when $a$ is even, and odd when $a$ is odd. And since $0 \leq b \leq 3$, the possible values of $2b+a$ (mod 4) for even $a$ are {0,2}, and the possible values of $2b+a$ (mod 4) for odd $a$ are {1,3}. Therefore, the conjugacy class of $r^as$ where $a$ is odd is $\{rs,r^3s\}$, and the conjugacy class of $r^as$ where $a$ is even is $\{s,r^2s\}$.
Now, you have all conjugacy classes of $D_4$: $\{\varepsilon\}$, $\{r,r^3\}$, $\{r^2\}$, $\{rs,r^3s\}$, and $\{s,r^2s\}$. Now you can try to find which unions of these classes produce a subgroup, in which case it must be normal. In this particular example, there are precisely 6 normal subgroups: $\{\varepsilon\}$, $\{\varepsilon, r^2\}$, $\{\varepsilon, r, r^2, r^3\}$, $\{\varepsilon, r^2, rs, r^3s\}$, $\{\varepsilon, r^2, s, r^2s\}$ and $D_4$ itself.
The calculation is the same for odd $n$, but the subgroups will come out differently. Try repeating this procedure for a small odd $n$, and you will see that there is a pattern in the subgroups of $D_n$. Then, you will be able to generalize about the subgroups of $D_n$.
Hope this helped.
