Basically, the program starts by making a diagonal line across the grid. The algorithm then finds the lower boundary of the set along this line, through iteration. Once this lower bound is located, the algorithm iterates toward the top-left of the grid and bottom-right of the grid, tracking the upper and lower bounds. The issue with this process is that the program ends up checking a large amount of points, which enlarges run-time. When running the algorithm in high dimensionality or with high accuracy, the run time can be very large (on the order of days). My work consists of selecting checked grid points in an intelligent way in order to cut down on run-time. The algorithms processes are illustrated below: