The study of quantum models for magnetism requires the diagonalization of large matrices. For electrons occupying a lattice of sixteen sites, the dimension of these matrices is 65,536 x 65,536. I have written a program in Mathematica to exploit symmetries of the model and render the diagonalization of the Hamiltonian matrix tractable. Specifically, the program utilizes four different operators: translational in the x and y directions (Tx and Ty), total spin in one direction (Sz), and total spin squared (S2). As symmetries, all of these operators commute with the Hamiltonian and therefore the eigenstates of the Hamiltonian are simultaneously eigenstates of these operators. In practice, the eigenstates of these symmetry operators are easier to discover then those of the Hamiltonian. The most difficult symmetry to exploit is the S2 symmetry. In order to generate this symmetry, I reference Clebsch-Gordan coefficient tables. These tables exist to aid in the addition of angular momentum under the laws of quantum mechanics. The tables are generally used to couple two spins. When adding sixteen spins, the coefficients are multiplied together iteratively, adding one spin at a time up to the desired number. The products of these coefficients are then employed to construct all 65,536 eigenstates of the S2 operator. Combined with the remaining symmetry operators, these states can be used to put the Hamiltonian into a simpler, block diagonal form that is readily diagonalized.