Rewrote the C++ solver to be Object Oriented. Much cleaner overall.