#G# must be finite, because there's a theorem stating that

Finite number of subgroups #\implies# finite group

So, using #(A\implies B) \implies (\not B \implies \not A)#

we deduce that an infinite group has an infinite number of subsets, and so #G# must be finite, otherwise it would have subgroups and we are assuming it doesn't.

Now, let's prove that the order of #G# must be prime: the order of every element #g \in G# divides the order of the group. So, if #o(G)# is not prime, it has proper divisors, say #k|o(G)#, and #k\ne 1# and #k \ne o(G)#.

So, there exists an element #g \in G# with #o(g)=k#, which would define a subgroup generated by powers of #g#.

Instead, if #o(G)# is prime, the order of every #g \in G# can either be #1# or #o(G)#. If the order is #1# the element is #e#, and the subgroup it generates is the trivial one.

If the order is #o(G)#, the subgroup generated is the whole group #G#. So, the only subgroups are the trivial ones.