Let $S$ be a linear subspace of $\Bbb R^n$ having dimension $k<n$ and assume $S$ is described by $n-k$ linear equations with integer coefficients. Look at now the intersection $\Lambda=S\cap \Bbb Z^n$ - such an intersection is a lattice in $S$. Theoretically speaking, I already know the existence of a basis $\{v\_1,\dots,v\_k\} \in S$ such that $\Lambda=\big\{\lambda\_1v\_1+\cdots+\lambda\_kv\_k\,|\, \lambda\_i\in \Bbb Z \text{ for all } i\big\}$. Of course, any $v\_i$ has integer coefficients.


I am wondering if the basis $\big\{v\_1,\dots,v\_k\big\}$ can be completed to a basis $\big\{v\_1,\dots,v\_k,v\_{k+1},\dots,v\_{n}\big\}$ of $\Bbb R^n$ by adding other $n-k$ vectors (with integer coefficients) such that there is a matrix $g\in \text{SL}(n,\Bbb Z)$ such that $g(e\_i)=v\_i$ for any $i=1,\dots,n$, where $\{e\_1,\dots,e\_n\}$ denotes the standard basis. 


In other words, I am wondering if $\{v\_1,\dots,v\_k\}$ can be completed to a primitive set of vectors generating the standard lattice $\Bbb Z^n$. By setting $V$ the $k\times n$ matrix having the vectors $v\_i$ as columns, if I am not mistaken, this condition is equivalent to say that the gcd of the $k^{th}$ order minors is one. In this case, the matrix $V$ can be completed to a square matrix with determinant one - hence a matrix in $\text{SL}(n,\Bbb Z)$.


When $n=2$, this is always true. Indeed, let $qx-py=0$ a one-dimensional space in $\Bbb R^2$ - $p,q$ are taken coprime. Clearly $(p,q)$ satisfies the equation above. Taking any solution $(x\_o,y\_o)$ of the associated diophantine equation $qx-py=1$ (the solution exists because $p,q$ are coprime) we have two vectors $(p,q), \, (x\_o,y\_o)$ and they form a basis for the standard lattice. In other words, the basis $(p,q)$ is completed to a basis of $\Bbb Z^2$.


When $n=3$, the problem seems more subtle and I don't have an answer. I began with this example. I considered the plane $S$ given by the equation $x+y-2z$ in $\Bbb R^3$. The vectors $(2,0,1),\, (0,2,1)$ form a basis for $S$ and they belong $\Bbb Z^3$, clearly. However, they don't form a basis for the lattice $\Lambda=S\cap \Bbb Z^3$. Indeed, the vector $(1,1,1)$ doesn't belong to $\Bbb Z$-span of them. By chance, I noticed that $\big\{(2,0,1),\,(1,1,1)\big\}$ is a basis for the lattice $\Lambda$. Not only, by adding the vector $(0,-1,0)$, for instance, I can complete the latter basis to a basis of $\Bbb R^3$ and there is $g\in\text{SL}(3,\Bbb Z)$ such that $g(e\_1)=(2,0,1),\, g(e\_2)=(1,1,1),\, g(e\_3)=(0,-1,0)$. I have made some other examples and they work similarly. 


For a generic $n\ge3$, I don't know if there is an algorithmic method to find a basis for $\Lambda=S\cap \Bbb Z^n$ and if such a basis can be always complete to a basis for $\Bbb Z^n$, like in the $n=2$ case.



Basis for a lattice in a subspace of $\Bbb R^n$
The answer to your question, with a full proof, appears in "An Introduction to the Geometry of Numbers" by J.W.S. Cassels, Corollary 3 in page 14. It is also stated as Theorem 1.28 [here](https://books.google.com/books?id=i5AkDxkrjPcC&pg=PA13&lpg=PA13&source=bl&ots=Pz00ZD6qFZ&sig=ACfU3U0u37_G6qfpiAIyVmLeJUAkSe220g&hl=es-419&sa=X&redir_esc=y#v=onepage&q&f=false) but without a proof.


