implements `solve` for evaluating many dependant formulas

Closes #28