I've been working on the exact same problem, but I haven't solved it entirely yet. I've attached a small windows .exe + full source for a small program that propagates forces trough a chain of interconnected particles. It displays far more rigid behaviour than any iterative solver I know of. My method of doing this is very similar to yours, it seems :-)
The only problem is that it's position based, and does not take velocity and acceleration into consideration. Still working on that...