A BiCG-FFT T-Matrix algorithm is proposed to efficiently solve three-dimensional scattering problems of inhomogeneous bodies. The memory storage is of O(N) (N is the number of unknowns) and each iteration in BiCG requires O(N log N) operations. A good agreement between the numerical and exact solutions is observed. The convergence rate for lossless and lossy bodies of various sizes are shown. It is also demonstrated that the matrix condition number for fine grids is the same as that for coarse grids