The proposed techniques have been implemented in Fortran 77, and have been tested on a computer having a DEC Alpha 21264(500 MHz) chip as the CPU. In FMM, we truncate the infinite series in (3.22) and (3.26) taking 10 terms and compute the series in (4.6), (4.8) and (4.10) using the 109 point generalised Gaussian quadrature formula given in Yarvin and Rokhlin. Also, we set the maximum number of boundary elements in a leaf to be 100. The integrals in (3.23) are computed numerically with Gaussian quadrature. To solve the resulting matrix equation we use the preconditioned GMRES and adopt the block diagonal matrix corresponding to the leaves as the preconditioner following the technique proposed by Nishida and Hayami. In GMRES we terminate the iteration when the relative error is less than 10-5. The inverse of the preconditioner is obtained with Crout's method.