I have spent the last two weeks converting the "parser" I developed for the Complex Number Calculator into an early version of an Algebra Helper
One day I hope that it will be able to solve simple equations, and differentiate and maybe even integrate!
But so far it parses the input (attempting to figure out what the user meant when he typed the expression), and then converts that to some standard form (so that "x+2" and "2+x" both end in the same form). This is not a simple task!
Have a go (and help me find the bugs).
Type in an expression (like 2x^2/3) and see if it interprets it correctly ... if not, post what it gets wrong so I can improve it.