A fast and efficient forward scattering solver is developed for use in ultrasound tomography. The solver is formulated so as to enable the calculation of scattering from large and relatively high-contrast objects with inhomogeneous physical properties that vary simultaneously in acoustic attenuation, compressibility, and density. It is based on the method of moments in conjunction with a novel implementation of the conjugate gradient algorithm which requires the use of the adjoints of the scattering operators. The solver takes advantage of the symmetric block Toeplitz matrix with symmetric Toeplitz blocks property of the Green's function matrix to increase efficiency and only stores the first row of this matrix to reduce memory requirements. This row is then used for the matrix-vector multiplication using the fast Fourier transform technique, thus, resulting in the computational complexity of O(n log n). The marching-on-source technique is also used to provide a good initial guess which allows the conjugate gradient technique to converge faster than initializing with an arbitrary guess. This feature is important in tomographic inversion algorithms which require that the object to be imaged be interrogated via several incident fields. Forward scattering and inversion examples, based on the Conjugate Gradient Least Squares regularized Born Iterative Method, are shown, in two-dimensions, for objects varying in all three physical properties.