Proving Schur-Zassenhaus Theorem, with added assumption that $G/H$ is cyclic

The proof simplifies a lot if we assume $G/H$ is cyclic, since a suitably chosen cyclic subgroup of $G$, related to a choice of generator of $G/H$, will be a complementary subgroup to $H$.

Let $H$ be normal in $G$ with order $a$ and let $b = [G:H]$, so $|G| = ab$ and $\gcd(a,b) = 1$. Since $G/H$ is cyclic it has a generator, say $G/H = \langle \overline{g}\rangle$. Since $a$ is relatively prime to $b = |G/H|$, $G/H = \langle \overline{g}^a\rangle$ too. Since $G$ has order $ab$, in $G$ we have $$ 1 = g^{ab} = (g^a)^b. $$ Set $x = g^a$, so $x^b = 1$ and $G/H = \langle \overline{x}\rangle$.

Of course each element of $G$ has the form $x^ih$ for some $i \in \mathbf Z$ and $h \in H$. The subgroup $\langle x\rangle$ has order dividing $b$, which is relatively prime to $a = |H|$, so $\langle x \rangle \cap H = \{1\}$. Thus $G = H\langle x\rangle$ with the subgroups $H$ and $\langle x\rangle$ having trivial intersection. Thus $G \cong H \rtimes \langle x\rangle$.


I have a partial answer: the case where $G/H$ has prime order is pretty straightforward.

Suppose $[G : H] = p$ is a prime which does not divide $\lvert H \rvert$. By Cauchy's theorem, since $p$ divides $\lvert G \rvert$, there is some $g \in G$ of order $p$. Now $\langle g \rangle \cap H$ must be trivial (since its order divides both $\lvert g \rvert = p$ and $\lvert H \rvert$), and it follows that $\langle g \rangle$ is a complement of $H$.