; torn numbers
(define (torn? n)
(define (square x) (* x x))
(let loop ((ten-power 10))
(if (< n ten-power) #f
(let ((a (quotient n ten-power))
(b (modulo n ten-power)))
(if (= (square (+ a b)) n) #t
(loop (* ten-power 10)))))))
(do ((n 10 (+ n 1))) (#f)
(when (torn? n) (display n) (newline)))