If you're sure that your function always has two solutions (and depending on the values of the constants, I can believe that quite easily), then here's a sophisticated way to find both solutions. There's a local maximum between the two solutions. (I'm going off the graph here of one of the representative curves). So take the derivative of your function, and set it equal to zero. Finding that root might itself require Newton-Raphson; however, I think that in general you'll find two solutions: one at +infinity, which is no use to you, and one small positive solution. Next, for the original function, pick one starting point that is less than the local max by, say, 1, and one starting point that is greater than the local max by 1. I think that would be a better method of picking starting points than random guessing. If you're to the right of the local max, then Newton-Raphson should converge to the right root. If your starting point is to the left of the local max, then Newton-Raphson should converge to the left root. Make sense?