tl;dr: Looking for a java library to solve equations. Suggestions welcome.

I'm looking to write an app for the sake of writing an app.

I figured that, as a firmware guy with minimal EE hardware training, a good practice app would be one that acts as a helper for EE projects. One of the things I wanted to add was an equation solver for things like Resistor/Capacitor rate of discharge, etc.

But it's not enough to solve for the same variable over and over. I'd like to choose a known function, then be able to plug in the known values and get back the unknown value, whichever variable it may be. Something like http://hyperphysics.phy-astr.gsu.edu/hbase/electric/capdis.html

At first I looked into Functional Programming, but I'm not sure it's the right way to go.

Digging around Wikipedia, I found Constraint Programming (using linear/float variables) which seems close to what I'm looking for but not quite either. It'd be nice to put in an equation once without having to hash through every derivation.

Any suggestions?