A fragile but working branch, please write all (- x y) as (+ x (* -1 y)).
Updated a number of things
There is a lexical ordering problem, most likely in get-coefficients. We also need to add a repeating loop that keeps on simplifying until no further change happens in the resultant equation.
Fixed a number of bugs!