We have developed an algorithm which generates a random close packing of equal spheres from a random distribution of points. Each point is the center of an inner and an outer sphere. The inner diameter defines the true density and the outer a nominal density. The algorithm eliminates overlaps among outer spheres while slowly shrinking the outer diameter. The two diameters approach each other, and the eventual coincidence of true and nominal densities terminates the procedure. The spheres in the packing, which is inherently homogeneous and isotropic, are close together but not touching. Thus, near neighbors are defined as those within a specified distance, \ensuremath{\delta}, of touching. When the outer diameter is contracted relatively quickly, the number of near neighbors depends strongly on \ensuremath{\delta}. As the contraction rate approaches zero, this dependence decreases sharply. We speculate that the limiting value is exactly 6 for all \ensuremath{\delta}\ensuremath{\le}${10}^{\mathrm{\ensuremath{-}}3}$. Packing fractions between 0.642 and 0.649, which are easily achieved by this method, are higher than any experimental or previously simulated values, but are consistent with Berryman's extrapolation [Phys. Rev. A 27, 1053 (1983)] from the radial distribution function for hard spheres. The algorithm can also be used for packing hyperspheres in higher dimensions.