I identified a problem with the program not being able to handle duplicate vertices. I proposed a solution in the comments of the method that read the data file, but I have not had a chance to implement a solution yet.

Even though my code does not remove duplicate entries in the data file, it still produces correct results.