Twój algorytm wykorzystuje pętlę for idąc po kolei po liczbach i sprawdzając każdą - takie rozwiązanie jest często najprostsze ale też strasznie nieefektywne. Poczytaj sobie o algorytmie euklidesa (szczególnie tym z modulo) na wyznaczanie NWD - ten algorytm jest dużo lepszy.