Solution (source code)

= Solution

For a <plane crystallographic group>, the translation <subgroup> consists of translations by <vectors> in a rank-two <lattice> $\Lambda$; the <lattice> is this additive group of translation <vectors>. The <point group> is the image under the linear-part <homomorphism> $G\to O(2)$, equivalently $G/\Lambda$. Conjugating a translation by an isometry with linear part $A$ gives translation by $Av$, so every point-group element preserves $\Lambda$.

Choose a <lattice> basis. A point-group rotation is represented in that basis by an integral <matrix>, because it maps <lattice> <vectors> to <lattice> <vectors>, and its inverse does likewise. The <trace> is therefore an integer. In an <orthonormal basis> the same rotation has <trace> $2\cos\theta$, which lies between minus two and two. Hence $2\cos\theta\in\{-2,-1,0,1,2\}$. The value two gives the identity, while the other values give angles $\pi$, $\pm2\pi/3$, $\pm\pi/2$, or $\pm\pi/3$. Thus every nonidentity rotation has order
$$
\boxed{2,3,4,\text{ or }6.}
$$
This proves the <crystallographic restriction theorem> from the <lattice> action rather than assuming the classification of wallpaper groups.