A Java-based program to solve and explain algebra problems