I can't resist biting either...

The error is actually a multiply-by-zero. Remember, A = B, so A - B = 0. At step 4, we say (A+B) * 0 = B * 0, which is pretty much true, but allows us to get away with a bit of arithmetical sleight-of-hand. In fact, in step 3, we've essentially said 0 = B*0, which is true as well, and also causes the same problems.

And no, I'm not sorry at all, especially to my brother :-)

Save the whales. Feed the hungry. Free the mallocs.
_________________________
Owner of Mark I empeg 00061, now better than ever - (Thanks, Rod!) - and Karma 3930000004550