SymPy Gamma is a free web application based on SymPy. It returns step-by-step solutions for some types of high school / college math problems, for example:
It's rougher around the edges and the syntax is a bit more rigid than WolframAlpha's. One can use ^
instead of **
for powers (there is some preprocessing for that) but otherwise, the closer you are to standard SymPy syntax, the better. For example, one can type integrate x*sin(3*x)
instead of integrate(x*sin(3*x), x)
and it's understood correctly. But when I tried integrate x**2/(x**2+1)
, SymPy Gamma misunderstood it as "the integral of x**2
, divided by (x**2+1)
".
It does not seem to have any step-by-step for algebra problems like "solve this quadratic equation", however.
(Disclosure: I am a SymPy developer, though I had no part in SymPy Gamma specifically.)