The title really explains it, the proof in my text uses induction and I understand up to:
(For $m=0$): Since $H \subset \mathbb{Z}^{n+1}$ is a subgroup, so is $\pi(H) \subset \mathbb{Z}$. Hence $\pi(H) = m\mathbb{Z}$ for some $m \geq 0$. If $m=0$, then $\pi(H) = (0)$ so $H \subset ker(\pi)$ which implies $\mathbb{Z}^k \cong H \cap ker(\pi) = H$.
(Where we defined $\pi: \mathbb{Z}^{n+1} \rightarrow \mathbb{Z}$ by $\pi(m_{1},...,m_{n+1}) = m_{n+1}$.)
I understood up to there but then it continues:
From now on assume $m\neq 0$. Since $m \in m\mathbb{Z} = \pi(H)$, we have $h_{k+1} \in H$ with $\pi(h_{k+1}) = m$. Take $h_{1},...,h_{k} \in H \cap ker(\pi)$ the images of $(1,0,...,0),...,(0,...0,1)$ under a chosen isomorphism $\mathbb{Z}^k \cong H \cap ker(\pi)$. We will show that $\psi : \mathbb{Z}^{k+1} \rightarrow H$ defined by $\psi(m_{1},...,m_{k+1}) = m_{1}h_{1}+...+m_{k+1}h_{k+1}$ is an isomorphism.
And I'm just completely lost. I vaguely get the theorem intuitively and I know we have to use the fact that $H \cong \mathbb{Z}^k \iff H$ is a free abelian group. Does anyone have a straightforward proof?