I've been reading the proof to Stormer-Lehmer's method and I'm stuck on a particular statement of this paper. Specifically, is where $G_n$ is defined. The author states that it is clear that $G_n$ is an integer as it is a symmetric function with respect to $\alpha$, $\beta$, and the roots of unity. I don't see in which sense it is symmetric with respect to the roots of unity, nor how this allows us to prove $G_n$ is an integer. Could someone please clarify this statement for me ?
Source: On a problem of Stormer
Let $\zeta = e^{2\pi i/n}$ to simplify the notation. Switching the roles of $\alpha$ and $\beta$ in the definition of $G_n$ gives us \begin{equation*} \begin{aligned} \prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(\beta - \alpha \zeta^n) &= \prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(-\zeta^{h})(\alpha - \zeta^h\beta) \\ &= \prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(-\zeta^h)\prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(\alpha - \zeta^h\beta) \\ &= \prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}} (-\zeta^h) \cdot G_n. \end{aligned} \end{equation*} So in order to show that $G_n$ is symmetric in $\alpha,\beta$, it suffices to show that the product in the last line is equal to $1$. This is easy to check if $n = 1,2$. For $n > 2$, we write $$\prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(-\zeta^h) = (-1)^{\phi(n)}\prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}\zeta^h$$ and recall that $\phi(n)$ is even since $n > 2$, thus $(-1)^{\phi(n)} = 1$. Since $n > 2$, no primitive $n$-th root of unity is its own inverse, so pairing each $\zeta^h$ with its inverse shows that the the product on the right-hand side is $1$.
The function is symmetric in the roots of unity in the sense that if you permute the primitive $n$-th roots of unity in the product defining $G_n$, the result is also equal to $G_n$. In other words, if $\pi$ is any permutation of the elements of $(\mathbb{Z}/n\mathbb{Z})^{\times}$, then $$\prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(\alpha - \zeta^{\pi(h)}\beta) = \prod_{h \in (\mathbb{Z}/n\mathbb{Z})^{\times}}(\alpha - \zeta^h\beta) = G_n.$$ This is clear since $\zeta^{\pi(h)}$ run through each primitive $n$-th roots of unity exactly once as $h$ runs through $(\mathbb{Z}/n\mathbb{Z})^{\times}$.
Now to see why the symmetry implies that $G_n$ is an integer. The numbers $\alpha$ and $\beta$ are Galois conjugates over $\mathbb{Q}$, and moreover they are algebraic integers. Likewise the primitive $n$-th roots of unity are algebraic integers and Galois conjugate to each other. Therefore $G_n$ is an algebraic integer in the field $\mathbb{Q}(\sqrt{D},\zeta)$. Since $\alpha$ and $\beta$ are Galois conjugates and likewise for the roots of unity, any field embedding $\sigma \colon \mathbb{Q}(\sqrt{D},\zeta) \to \mathbb{C}$ fixes $G_n$ by the symmetry properties. This implies that $G_n$ is rational. But since $G_n$ is also an algebraic integer, $G_n$ must actually be an integer.