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 R3 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 maximum contact packings for 10 < n ≤ 20. The resultant set of packings has some striking features; among them are the following: (i) all minimally rigid packings for n ≤ 9 have exactly 3n−6 contacts; (ii) nonrigid packings satisfying minimal rigidity constraints arise for n ≥ 9; (iii) the number of ground states (i.e., packings with the maximum number of contacts) oscillates with respect to n; (iv) for 10 ≤ n ≤ 20 there are only a small number of packings with the maximum number of contacts, and for 10 ≤ n < 13 these are all commensurate with the hexagonal close-packed 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.