We describe a nested-grid particle-mesh (NGPM) code designed to study gravitational instability in three-dimensions. The code is based upon a standard PM code. Within the parent grid we are able to define smaller sub-grids allowing us to substantially extend the dynamical range in mass and length. We treat the fields on the parent grid as background fields and utilize a one-way interactive meshing. Waves on the coarse parent grid are allowed to enter and exit the subgrid, but waves from the subgrid are precluded from effecting the dynamics of the parent grid. On the parent grid the potential is computed using a standard multiple Fourier transform technique. On the subgrid we use a Fourier transform technique to compute the subgrid potential...