  Sphere packing problems have a rich history in both mathematics and physics;
yet, relatively few analytical analyses of sphere packings exist, and answers
to seemingly simple questions are unknown. Here, we present an analytical
method for deriving all packings of n spheres in R^3 satisfying minimal
rigidity constraints (>= 3 contacts per sphere and >= 3n-6 total contacts). We
derive such packings for n <= 10, and provide a preliminary set of maximal
contact packings for 10 < n <= 20. The resultant set of packings has some
striking features, among them: (i) all minimally rigid packings for n <= 9 have
3n-6 contacts, (ii) non-rigid packings satisfying minimal rigidity constraints
arise for n >= 9, (iii) the number of ground states (i.e. packings with the
maximal number of contacts) oscillates with respect to n, (iv) for 10 <= n <=
20 there are only a small number of packings with the maximal number of
contacts, and for 10 <= n < 13 these are all commensurate with the HCP lattice.
The general method presented here may have applications to other related
problems in mathematics, such as the Erdos repeated distance problem and
Euclidean distance matrix completion problems.
