see : - http://www.ams.org/journals/mcom/1968-22-103/S0025-5718-1968-0226829-0/S0025-5718-1968-0226829-0.pdf ) - http://math.stackexchange.com/questions/663391/bareiss-algorithm