¿Cuál es la lógica de este proceso?

Estaba trabajando en un problema enProyecto euler; y encontré unpregunta en lo. La pregunta y la respuesta aceptada dicen;

n = 600851475143 
i = 2

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

print (n)

Es simplemente asombroso. Todavía no puedo entender cómo este proceso es tan rápido y puedo encontrar el mayor factor primo de 600 mil millones en 0.00001 segundos. Intenté toneladas de métodos y códigos para eso, los procesos tomaron más de 1 hora ...

¿Alguien podría explicarme la lógica de estos códigos y por qué es súper rápido? eswhile Qué bucle tiene un lugar especial en Python?

Respuestas a la pregunta(1)

Su respuesta a la pregunta