This method is combinatorial, rather than the more usual algebraic methods. It's based on an exercise from Herstein's book Abstract Algebra.

We note that in *any* field, the equation

`x`^{m} = 1

has

*at most* `m` roots. Thus, it suffices to

prove the following.

**Lemma:** Let **G** be a finite group with `n` elements, in which for every `m` (which necessarily divides `n`) there are at most `m` solutions for the equation `x`^{m} = 1. Then **G** is a cyclic group.

**Proof:** Denote by `a`_{m} the number of elements of **G** of order `m`. Then `a`_{m} is 0 if `m` does not divide `n`. If `a`_{m} is non-zero, then there exists some element `g`∈**G** of order `m`. But then the `m` powers of `g` are all solutions of `x`^{m} = 1, therefore by the conditions on **G** these are *all* of the solutions. Now, `g` generates a cyclic group of order `m`, and this group has φ(`m`) generators (where φ(`m`) is Euler's totient function, the number of numbers in 1,...,`m` coprime with `m`). Thus, if `a`_{m} is non-zero, then it is precisely φ(`m`).

We've just shown that `a`_{m}=0 if `m` doesn't divide `n`, and that if it does divide, then it is either 0 or φ(`m`). But

∑_{m|n}
φ(`m`) =
`n`.

(the

sum of

`phi(m)` over all factors

`m` of

`n` is precisely

`n` (to see this, just consider orders of elements in the cyclic group!)). On the other hand, the sum of all

`a`_{m}'s is also

`n`: every element has an order. The only way this can be is if

`a`_{m}=φ(

`m`) for

*every* `m` which divides

`n`. In particular,

`a`_{n} = φ(

`n`) > 0, so

**G** contains elements of order

`n`, and is a cyclic group.