A group theory question

I’m studying for a set of exams I need to complete in my journey towards becoming a math PhD, and I’ve run across the following sample problem.

After playing with this for maybe a total of 4 hours, I eventually did stumble on a solution. But it is not very elegant, and I have the feeling that there is a much more simple and direct way to solve it. My sense (and hope!) is that my solution is not one someone of my level would be expected to think up and then prove in the 10-20 minutes they could spare during the 3 hour exam. There has to be a better way! Any ideas?

Below, I give an outline of my solution, just so you know I’m not trying to get you to do my homework.

[spoiler]Let p be a prime. By considering that h in H and n in Z such that h + n = 1/p, I show that np - 1 is in H. So I have the lemma that For every prime p, there is an integer n such that np-1 is in H.

Then I show that 1 is in H, implying that Z is in H, so that H = H + Z = Q. This I do by letting g be the least positive integer in H. If g is 1, I’m done. If not, I factor g as k*p, where p is prime and 0<k<g. Using the lemma, I show that k is in H, a contradiction.[/spoiler]

ZH = Q is equivalent to Q/H X Z = Q, = denoting isomorphism. Perhaps you could work with that?

Actually, I’m not sure about that. But considering the form of a non-identity element of Q/H is probably the way to go.