If $G$ is a nilpotent group and $H\leq G$ with $H[G,G]=G$ then $H=G$. I am studying for a qualifying exam and this problem has been a white whale.

Let $G$ be a nilpotent group with subgroup $H\leq G$. If $H[G,G]=G$, then $H=G$.

I believe I should use the fact that if
$$G=G_0 \triangleright G_1 \triangleright \dots \triangleright G_k=1$$
is a central series (meaning $[G_i,G]\leq G_{i+1}$ for all $i$), then
$$G=HG_0 \triangleright HG_1 \triangleright \dots \triangleright HG_k=H$$
is still subnormal. But I can't seem to get anywhere with this idea. Any help would be appreciated.
 A: Theorem. Let $G$ be a nilpotent group. If $X\subseteq G$, then $\langle X\rangle = G$ if and only if $\langle x[G,G]\mid x\in X\rangle = G/[G,G]$.
Proof.. The "only if" clause is easy. We proceed by induction on the nilpotency class of $G$ to prove the "if" clause.
If $G$ is of nilpotency class $1$, then $G$ is abelian, and there is nothing to prove.
Assume the result holds for groups of nilpotency class $c$, and that $G$ has nilpotency class $c+1$. Let $\mathfrak{G}=G/G_{c+1}$ (where $G_k$ is the $k$th term of the lower central series of $G$) Note that $G^{\rm ab}=\mathfrak{G}^{\rm ab}$. Thus, the image of $X$ in $\mathfrak{G}$ generates $\mathfrak{G}$. Thus, $\langle X\rangle G_{c+1} = G$.
We show that $G_{c+1}\subseteq \langle X\rangle$. Indeed, $G_{c+1}$ is generated by elements of the form $[r,g]$, with $r\in G_c$ and $g\in G$. We can write $r = x_1g_1$, with $x_1\in\langle X\rangle\cap G_{c}$ and $g_1\in G_{c+1}$, and $g=x_2g_2$, with $x_2\in \langle X\rangle$ and $g_2\in G_{c+1}$, because $\mathfrak{G}$ is generated by the image of $X$. But since $G_{c+1}$ is central in $G$, we have
$$[r,g] =[x_1g_1,x_2g_2] = [x_1,x_2]\in \langle X\rangle.$$
Thus, $G_{c+1}$ is generated by elements that all lie in $\langle X\rangle$, hence $G_{c+1}\subseteq \langle X\rangle$.
Since we already knew that $\langle X\rangle G_{c+1}=G$, we conclude that $\langle X\rangle = G$, as desired. This completes the induction. $\Box$
Now, apply the theorem with $X=H$.
A: First suppose that $H$ is a normal subgroup such that $H[G,G] = G$. Write $G^{(1)} = [G,G]$ and $G^{(k)} = [G^{(k-1)}, G^{(k-1)}$] for $k > 1$ (derived series).
I claim that $HG^{(k)} = G$ for all $k \geq 1$. We can prove this by induction on $k$. Say $HG^{(k)} = G$. Now $G / HG^{(k+1)} = HG^{(k)} /HG^{(k+1)}$ is abelian since $G^{(k)}/G^{(k+1)}$ is, so $[G,G] \leq HG^{(k+1)}$, and thus $G = HG^{(k+1)}$.
So we have proven:

Lemma: Suppose that $G$ is solvable, $H \trianglelefteq G$, and $G = H[G,G]$. Then $G = H$.

Now suppose that $G$ is nilpotent and $H \leq G$ is such that $G = H[G,G]$. Since $G$ is nilpotent, $H$ is subnormal, say $H = N_1 \trianglelefteq \cdots \trianglelefteq N_{t-1} \trianglelefteq N_t \trianglelefteq G$ for some $t \geq 2$. By the lemma $N_t = G$. Then we can apply the lemma repeatedly to get $N_{t-1} = G$, $N_{t-2} = G$, $\ldots$ and eventually $H = G$.
