Let $G$ be a finite group of order $n$. Prove that if for every divisor $d$ of $n$ the number of $G$'s elements whose orders divide $d$ doesn't exceed $d$, then the group is cyclic.
My attempt: I tried to use the same technique from here : Group where for each $d \ \big|\ |G|$ there is unique subgroup of order $d$ .
Consider the sets $M_d=\{a\in G | \operatorname{ord}a=d$}.
We have the equivalence $M_d \neq \emptyset \iff \exists$ a cyclic subgroup $H_d$ of order $d$.
We are going to prove that if this $H_d$ exists then it is unique i.e. that there is no other cyclic subgroup of order $d$.
For $x\in G$ such that $\operatorname{ord} x=d$ we have that $\operatorname{ord}(x^r) |d$,$\forall r=\overline{0,d-1}$ and, according to the hypothesis, these are the only elements of $G$ whose orders divide $d$.
Suppose that there is another cyclic subgroup of order $d$, $H'_d \neq H_d$. Then there exists at least one more element of order $d$ which is different from $x^r$, $\forall r=\overline{0,d-1}$, contradiction.
Hence, $M_d \neq \emptyset \iff \exists$ a unique cyclic subgroup $H_d$ of order $d$.
Now, let's observe that $M_d=\{a\in G | <a>=H_d\}$, so $|M_d|\le \phi(d)$.
The sets $M_d$ form a partition of $G$, so we have that$n=|G|=\sum\limits_{d|n}|M_d| \leq \sum\limits_{d|n} \phi(d) = n$,yielding equality throughout , so every $M_d\neq \emptyset$ and the conclusion follows.
I think that this works because it is basically the same problem from the link above, but with a different condition, which also helps me to prove the uniqueness of $H_d$. The only difference is that here I have that $H_d$ is the only cyclic subgroup of order $d$, not the only subgroup of order $d$. I don't think that it affects the proof however.