Qual é a lógica desse processo

Eu estava trabalhando em um problema emProjeto Euler; e eu achei umPergunta, questão em SO. A pergunta e a resposta aceita dizem;

n = 600851475143 
i = 2

while i * i < n:
    while n%i == 0:
        n = n / i
    i = i + 1

print (n)

É simplesmente incrível. Ainda não consigo entender como esse processo é tão rápido e posso encontrar o maior fator primordial de 600 bilhões em 0,00001 segundos. Eu tentei toneladas de métodos e códigos para isso, os processos levaram mais de 1 hora.

Alguém poderia me explicar a lógica desses códigos e por que é super rápido? éwhile loop tem um lugar especial em Python?

questionAnswers(1)

yourAnswerToTheQuestion