We introduce an algorithm for the efficient numerical solution of exterior boundary value problems for the Helmholtz equation. The problem is reformulated as an equivalent one on a bounded domain using an exact nonlocal boundary condition on a circular artificial boundary. An FFT-based fast Helmholtz solver is then derived for a finite-element discretization on an annular domain. The exterior problem for domains of general shape are treated using an imbedding or capacitance matrix method. The imbedding is achieved in such a way that the resulting capacitance matrix has a favorable spectral distribution leading to mesh independent convergence rates when Krylov subspace methods are used to solve the capacitance matrix equation.