This document proposes a fast algorithm for solving wave scattering problems involving billions of particles using the convolution theorem and fast Fourier transforms (FFTs). The algorithm represents the Green's function as a vector and stores particle positions on a uniform grid, allowing the scattering calculation to be computed as a 3D convolution. This convolution can be rapidly evaluated using FFTs, significantly improving the efficiency over direct matrix-vector multiplication. The algorithm distributes data across multiple machines in a cluster to parallelize the computations.