Solving the linear Boltzmann equation in neutron scattering phenomena presents many challenges to standard numerical schemes in computational physics. For an SN discretization, the so-called ray effects pollute the numerical solution. This pollution can be viewed mathematically as 'contamination' from a poorly chosen approximating basis set for the angle component of the discretization-i.e., collocation in angle is equivalent to discretization with delta basis functions, which form a poor approximating basis set. Fortunately, a PN discretization, which uses a better approximating basis set (i.e., spherical harmonics), eliminates these ray effects. Unfortunately, solving for the moments or PN equations is difficult. Moments couple strongly with each other, creating a strongly coupled system of partial differential equations (pde's) ; numerical algorithms for solving such strongly coupled systems are difficult to develop. In this paper, novel algorithms for solving this coupled system are presented. In particular, algorithms for solving the PN discretization of the linear Boltzmann equation using a first-order system least-squares (FOSLS) methodology are presented.