A problem about cyclic groups. 
Let $G$ be finite. Suppose that $\left\vert \{x\in G\mid x^n =1\}\right\vert \le n$ for all $n\in \mathbb{N}$. Then $G$ is cyclic.

What I have attempted was the fact that every element is contained in a maximal subgroup following that cyclic iff not a union of cyclic subgroups, the order of elements of a cyclic group, and Sylow-$p$ subgroups......But none of them seems helpful. 
: ) It’s very kind of you to give me some hints to push me further. Thanks!
 A: Here are some hints of a possible way to prove this:
1) Show that for all $n$ dividing $|G|$, there is at most one cyclic subgroup of cardinal $n$ in $G$. Call it $H_n$ (when it exists).
2) Look at the map $\Psi: G\to \{\text{cyclic subgps} \}$, $x\mapsto \langle x \rangle$. Compute $|\Psi^{-1}(H_n)|$.
3) Write an equation giving $|G|$ in terms of $|\Psi^{-1}(H_n)|$, and compare with a famous formula involving Euler's totient function. 
A: I have another idea, please have a look.
For each prime $p\mid |G|$ we have $H$, a Sylow $p$-subgroup(uniqueness comes from the given condition) s.t. $|H|=p^n$(say). Then $G=H_1 \oplus \cdots \oplus H_n$. Now each $H_i$ has at least one normal subgroup of order $p^a$ s.t. $a\mid n_i$ for all $0 \leq a \leq n_i$.

Claim: Each $H_i$ is cyclic.

Suppose $H_1$ is not cyclic then $\exists P_1\neq P_2$ subgroups of $H_1$ s.t. $|P_1|=|P_2|=p^b$ for some $0\leq b\leq n_1$ then the given condition would break.
A: Although the duplicate supposes $G$ to be abelian, Ihf’s answer doesn’t. It’s a perfect answer and please see an even more complete one here. By the way, the answers given here are also very nice!
