Let $p\in\mathbb{Z}^+$ and $\mathbf{n}\in(\mathbb{Z}^+)^n$. Consider the set
$$\Lambda_{\mathbf{n},p}:=\left\{\dfrac{a}{p}\mathbf{n}+\mathbf{b}:a\in\mathbb{Z},\mathbf{b}\in\mathbb{Z}^n\right\}$$
Then, $\Lambda_{\mathbf{n},p}$ is a lattice. Moreover, $\Lambda_{\mathbf{n},1} = \mathbb{Z}^n$. Determine a basis for $\Lambda_{\mathbf{n},p}$. Is there any algorithm that can be used to determine a basis?
An obvious generating set for the lattice $\Lambda_{\mathbf{n},p}$ is given by $$ e_0=\frac{\mathbf{n}}{p},\quad e_i=(0,\dots,\underbrace{1}_{i^{\text{th}} position},\dots,0),\quad i=1,\dots,n. $$ You can check easily that any element of the lattice can be written $\mathbb{Z}$-linear combination of these $n+1$ vectors.