Programowanie rakiet. Gdzie się mylę?

Pytanie, na które próbuję odpowiedzieć:
Pierwszymi czynnikami 13195 są 5, 7, 13 i 29. Jaki jest największy współczynnik pierwszorzędowy liczby 600851475143?

Gdzie się mylę? mój pierwszy? test wydaje się być problemem, ale działa dobrze na stosunkowo małych liczbach. Jednak pierwsza? test daje błędną odpowiedź przy większych liczbach. Czy jest łatwiejszy sposób na to?

    (define b 3)

    (define z 0)

    (define divides?
      (lambda (a b)
        (= (remainder a b) 0)))

    (define (prime? n)
        (cond
          ((or (= n 1) (= n 0)) false)
          ((even? n) false)
          ((= n 2) true)
          ((= n b) true)
          ((divides? n b) false)
          (else (and (set! b (+ b 1)) (prime? n)))))

    ;Largest Prime Factor Test
    (define (LPF x)
      (cond
        ((divides? 600851475143 x)
         (cond
           ((prime? x)
            (cond
              ((> x z) (set! z x)))))))
      (if (< x 775146) (LPF (+ x 1)) (display z)))

questionAnswers(2)

yourAnswerToTheQuestion