Suppose that we have an association list of known variables and
their values, and a list of equations:
values = ((m 2) (f 8))
If the desired variable has a known value, return it.
Try to find an equation where all variables are known except one:
(= f (* m a))
Solve the equation for that variable:
(= a (/ f m))
Evaluate the right-hand side of the solved equation using the values
of the known variables (function myevalb)
to give the value of the new variable. Add that variable to the
binding list:
values = ((a 4) (m 2) (f 8))
Keep trying until you get the value of the variable you want
(or quit if you stop making any progress).