anchor.diff:  (defun euler-71 ()
     (numerator (euler-problem-71 (expt 10 6) 3/7)))
   
  -;;; for 72 i think i can use the toitent function once it is fixed up
  +(defun euler-problem-72 (ceiling-value)
  +  (loop for denominator from 2 to ceiling-value
  +       summing (euler-toitent-function denominator)))
  +
  +(defun euler-72 ()
  +  (euler-problem-72 (expt 10 6)))
   
   (defun euler-problem-73 (max-denominator lower-fence upper-fence)
     (loop for denom from 1 to max-denominator
  
positive.code:         with ratio = 0
          as toitent = (euler-toitent-function i)
          as cur-ratio = (/ i toitent)
          do (format t "~&~a ~a ~a" i toitent cur-ratio)
          when (> cur-ratio ratio)
            do (setf max-i i
                     ratio cur-ratio)
          finally (return max-i)))
  
  (defun euler-problem-71 (max-denominator target-fraction)
    (loop for denom from 1 to max-denominator
  
negative.code:                  as cur-value = (expt a b)
                   as cur-digit-sum = (digit-sum cur-value)
                   when (> cur-digit-sum max-digit-sum)
                     do (setf max-digit-sum cur-digit-sum))
          finally (return max-digit-sum)))
  
  ;; (defun euler-toitent-function (val)
  ;;   (reduce #'* (slow-prime-factorization val) :key #'1-))
  
  (defun euler-toitent-function (val)
    "using eulers product formula"
    (reduce #'* (distinct-prime-factors val)
            :key (lambda (prime)
                   (- 1  (/ 1 prime)))
            :initial-value val))
  
  (defun euler-problem-69 (ceiling)
    (loop for i from 2 to ceiling
  