Finding generators of subgroups of free abelian groups.
Let $N$ be a finitely generated abelian group. Let $M$ be a subgroup of $N$ with the same rank as that of $N$. Given an $\mathbb{Z}$-basis $v_1,\ldots,v_m$ of $M$ and an element $v\in N$, find a basis of the group generated by $v_1,\ldots,v_m,v$.
I am fairly certain that doing so is possible, but I cannot come up with an effective algorithm. Does anyone have code that is similar to this?