Sollin's algorithm