Solving Mathematical Problems