Hi again,
I suggested that because i am pretty sure the problem can be reduced before we even start and that reduces the complexity and thus makes a simpler and faster solution in the end. For example, since there is an over abundance of variables anyway setting R2=R1=R reduces the number of variables by 1 already. I suspect there are other simplifications too though but havent looked at it in detail yet.
There is also Marquardt Levenberg which like other solutions is an iterative method calculating a better and better estimate each time by calculating a new step s in each iteration. The whole process can be described in terms of matrices, which means the whole program would be simply calculating matrices and their inverses over and over again in order to obtain the new steps.
I've used this method (or a derivative) quite a bit in the past so i know first hand it works decently.
If you have ever used "Newtons Method" for one variable then you already have an idea how these methods work. They are basically very similar except they work with multivariate cases, and also include a damping factor to help aid convergence.
As a side note, there is also a bit written on what to do once a proposed fit is obtained. There is usually some analysis to try to determine if there exists any outliers or whatever, as well as if the proposed model truely looks suitable for the data set. There is also a bit written on how although exact convergence might not be obtained a set of solutions roughly the same lead to almost the same results anyway.
I might add that you can also change the fit criterion, from sum of squares to max absolute error value or whatever you think would work best for your application.