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