The paper presents a new method for calculating linear cosmic microwave background (CMB) anisotropy spectra based on integrating sources along the photon past light cone. This approach separates the temperature anisotropy into a geometrical term and a source term, where the former is given by radial eigenfunctions independent of the cosmological model, and the latter is expressed in terms of photon, baryon, and metric perturbations. The method significantly reduces computational time compared to standard methods, which require solving a large number of differential equations. The source term, which depends on the model and is the most time-consuming part, is evaluated at a few points, while the geometrical term, which oscillates rapidly, is precomputed. This method reduces CPU time by about two orders of magnitude and is particularly useful for accurate determinations of cosmological parameters from CMB anisotropy and polarization measurements, which will become possible with next-generation experiments. The authors provide a program implementing this method.The paper presents a new method for calculating linear cosmic microwave background (CMB) anisotropy spectra based on integrating sources along the photon past light cone. This approach separates the temperature anisotropy into a geometrical term and a source term, where the former is given by radial eigenfunctions independent of the cosmological model, and the latter is expressed in terms of photon, baryon, and metric perturbations. The method significantly reduces computational time compared to standard methods, which require solving a large number of differential equations. The source term, which depends on the model and is the most time-consuming part, is evaluated at a few points, while the geometrical term, which oscillates rapidly, is precomputed. This method reduces CPU time by about two orders of magnitude and is particularly useful for accurate determinations of cosmological parameters from CMB anisotropy and polarization measurements, which will become possible with next-generation experiments. The authors provide a program implementing this method.