http://www.diofant.ru/problem/1219/
Converted to JavaScript