; babbage's number

(define (babbage1)
  (let loop ((n 1))
    (if (= (modulo (* n n) 1000000) 269696) n
      (loop (+ n 1)))))
     
(display (babbage1)) (newline)

(define (babbage2)
  (let ((wheel (vector 2 8)))
    (let loop ((n 4) (w 0))
      (if (= (modulo (* n n) 1000000) 269696) n
        (loop (+ n (vector-ref wheel w)) (- 1 w))))))

(display (babbage2)) (newline)