Equation struct that can be used to solve equations with two numbers and an operator (+, -, *, /, %, ^)
Sol is the solution to the equation and is calculated when get_sol() is called.
EquationF is an equation similar to Equation, but with f64 values. Sol is calculated when get_sol() is called.
ZeroEquation is an equation with a list of values on one side and a solution on the other.
Similar to Equation, but with a list of values (in a Vec) that will add up to the solution
(or be subtracted if the number is negative). Sol is set to 0 and values can be moved to
the solution side of the equation with move_to_sol().