We present a surface completeness algorithm that is capable of denoising, removing outliers, and filling in missing patches on point clouds or surfaces. The main advantages of the proposed algorithm include its ability to remove outliers while preserving the details and ability to recover large missing patches. Additionally, our algorithm is a global method, whereby linear programming results are applied to a global optimization problem. This is advantageous because it yields a sparse solution and avoids local minima. Experiments further demonstrate the effectiveness of our algorithm through applications to point clouds where noise, outliers, and large missing patches exist.