Solving simultaneous equations