Solving the structure completion problem in surface crystallography