change solveSOR to use maxError