Torsion subgroup of $SL(n,\mathbb Z)$

I think I've got it (but check it, it won't be the first time I produce a wrong proof!).

  • First step: Let $\mathcal P$ the set of monic polynomials of degree $n$, with coefficients lying in $\mathbb Z$, and the roots in the unit circle of the complex plane. Then $\mathcal P$ is finite. Indeed, fix $0\leq k\leq n-1$ and for $P\in\mathcal P$, $P=X^n+\sum_{j=0}^{n-1}a_jX^j$, with roots $\lambda_1,\ldots,\lambda_n$, we have $$a_j=(-1)^j\sum_{J\subset\{1,\ldots,n\},|J|=j}\prod_{k\in J}\lambda_k$$ so $|a_j|\leq \binom nj$ and since $a_j$ is an integer it can take only a finite number of values.
  • Second step: For each $g\in G$, the characteristic polynomial of $g$, $p_g$, is an element of $\mathcal P$, so the set of all eigenvalues of the elements of $G$ is finite, and is contained in $\bigcup_{n\geq 1}\mathbb U_n$, where $\mathbb U_n$ is the sets of $n$-th roots of unity. So in fact the eigenvalues are contained in $\bigcup_{j=1}^{n_0}\mathbb U_{k_j}$, where $k_j$ are natural numbers $\geq 1$. Taking $N:=\operatorname{ppcm}(k_j,1\leq j\leq n_0)$, we get the wanted result.