A Three-Dimensional Laplacian solver