"OverflowError" em Python

Eu estou apenas começando a aprender a codificar em Python. Eu estou tentando escrever algum código para responder a esta pergunta do projeto Euler:

Os fatores primos de 13195 são 5, 7, 13 e 29.

Qual é o maior fator primo do número 600851475143?

Meu programa funciona com o caso de teste de 13195, mas quando eu tento entrar 600851475143, recebo o erro: "OverflowError: range () resultados tem muitos itens" Alguém sabe como eu posso consertar isso?

Aqui está o meu código:

class Euler3:
    "A class to find the largest prime factor of a given number"
     n = 600851475143
     primeFactors = []
     for i in range(2,n):
         if (n%i ==0):
            primeFactors.append(i)
            n = n/i
            i = i -1 #reset i
     print primeFactors

Qualquer ajuda ou sugestão seria muito apreciada!

questionAnswers(8)

yourAnswerToTheQuestion