Added structure around solving logic.
Made solution and solution line conform to equatable