Hasse's algorithm