We can group x and 90 and use the angle sum identity of cosine to say cos(x+90-b)=cos(x+90)cos(b)+sin(x+90)sin(b). We can use the same identity to say cos(x+90=cos(x)cos(90)-sin(x)sin(90)=-sin(x) and we can use the angle sum identity of sine to say sin(x+90)=sin(x)cos(90)+sin(90)cos(x)=cos(x). It follows that cos(x+90)cos(b)+sin(x+90)sin(b)=-sin(x)cos(b)+cos(x)sin(b). Therefore, cos(x+90-b)=cos(x)sin(b)-sin(x)cos(b).

We had to use the same identity twice, so I guess you could call it iterated.

although I was pretty handy at maths, that was 'A' level which was almost 20 years ago, so I don't understand the notation in micromasses answer.

I'm a physiological modeller, and solved the equation by induction, i.e. by knowing my upper and lower limit for the equation I picked a value halfway, then calculated an answer for both sides of the equation, then picked a value halfway between that and so on. I'm guessing that micromass was sort of suggesting that.

The problem is that this has to be done about 25 times (*10 iterations) and each iteration has floating point stuff that computers don't like. Having to solve things by induction is the bane of physiological modelling.

One caution about Newton's method is that a bad initial choice can diverge. If you are programming this, it should be easy to find open source code for 'safe newton/raphson', where you bound that a root must be in some interval. Then, the code detects a bad guess and uses another method for one iteration, going back to Newton thereafter. As long as you can find some bounds in which a root must be present, such codes are guaranteed convergent and quite fast.

In this case, for example, you can guarantee there is s root between [-pi,+pi].