Here is a small engine I worked a bit. Today everybody is doing rigid body, so I wanted to play with "non rigid" ones :-)
There is several stuff to improve, especially the collision routine which is done with sphere instead of meshes (that's why collision are not accurate, this is not the solver fault).
You can download a working version here:
The solver itself does integration using Verlet algorithm for stabilty. The collisions are a bit twicked to get speed boost, so nothing is very stable when adding a lots of balls. You must have DirectX 9.0 runtime on your machine.
You can rotate the world with the mouse, add objects or revert gravity to get an exiting experience ! (sounds like marketing stuff, huh ?)
The demo is only 25Kb long , so enjoy small toys ! :-)