An efficient numerical model for solving fully nonlinear potential flow equations with a free surface is presented. Like the code that was developed by Grilli et al. (Grilli et al. 2001 Int. J. Numer. Methods Fluids 35, 829-867), it uses a high-order three-dimensional boundary-element method combined with mixed Eulerian-Lagrangian time updating, based on second-order explicit Taylor expansions with adaptive time-steps. Such methods are known to be accurate but expensive. The efficiency of the code has been greatly improved by introducing the fast multipole algorithm. By replacing every matrix-vector product of the iterative solver and avoiding the building of the influence matrix, this algorithm reduces the computing complexity from O(N-2) to nearly O(N), where N is the number of nodes on the boundary. The performance of the method is illustrated by the example of the overturning of a solitary wave over a three-dimensional sloping bottom. For this test case, the accelerated method is indeed much faster than the former one, even for quite coarse grids. For instance, a reduction of the complexity by a factor six is obtained for N=6022, for the same global accuracy. The acceleration of the code allows the study of more complex physical problems and several examples are presented.