algebraic problem-solving