Solving Equation Systems by Agreeing and Learning