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.