Teraz kod wygląda pięknie, dzięki.
1) Po pierwsze, pracuj na long longach. Sam autor sugeruje, że tak trzeba.
2) Po drugie. Cały czas operuj na możliwie jak najmniejszych wartościach.
Licząc nww mnożysz a*b, co może przekroczyć zakres. Spróbuj to tak policzyć, żeby nie przekraczać podczas obliczeń wartości najmniejszej wielokrotności.