Solving nonlinear equations