Weźmy dla przykładu zestaw 3 i 9
1 obieg while daje 3 + 3 = 6 czyli a = 6 b = 9
2 obieg while daje 6 + 6 = 12 czyli a = 12 , b = 9 (i w tym momencie mijasz się z rozwiązaniem, bo za a podstawiasz a + a czyli program dodaje 6 do 6 zamiast 6 + 3)
3 obieg while 9 + 9 = 18, czyli a = 12 b = 18
4 obieg while 12 + 12 = 24 czyli a = 24, b = 18
I tak w nieskończoność o ile się gdzieś czystym przypadkiem "nie zejdą". Ale nie wiem czy są takie zestawy.
Pomysł pewnie by zadziałał, ale musisz poprawić implementację.