This paper describes a numerical method to solve steady potential flow around ships based on the non-linear free surface boundary condition. One of the authors previously examined an iterative method for solving the velocity potential by using Rankine source, taking into account the non-linear free surface conditions in two-dimensional aspect and showed the usefulness of the method through the comparison between the computations and the experiments. In this paper, the authors expand this method to three-dimensional problem and apply to the computation of free surface flow around ships. Starting with a solution based on the double model linearized free surface condition, boundary conditions at the free surface in its non-linear form are satisfied iteratively. The method of numerical solution is examined on the steady waves and non-linearity of the waves is discussed. Further, the pressure distribution on the hull surface and wave resistance are computed for two types of hull form, that is a slender from and a blunt form. It is found that the computed results show better agreement with the experiments than the results of linear theories.