anchor.diff:          (incf count))
         (while (< count 11)))))
   
  +(defun problem-38 ()
  +  ;; Take the number 192 and multiply it by each of 1, 2, and 3:
  +  ;;
  +  ;;   192 × 1 = 192
  +  ;;   192 × 2 = 384
  +  ;;   192 × 3 = 576
  +  ;;
  +  ;; By concatenating each product we get the 1 to 9 pandigital, 192384576. We
  +  ;; will call 192384576 the concatenated product of 192 and (1,2,3)
  +  ;;
  +  ;; The same can be achieved by starting with 9 and multiplying by 1, 2, 3, 4,
  +  ;; and 5, giving the pandigital, 918273645, which is the concatenated product
  +  ;; of 9 and (1,2,3,4,5).
  +  ;;
  +  ;; What is the largest 1 to 9 pandigital 9-digit number that can be formed as
  +  ;; the concatenated product of an integer with (1,2, ... , n) where n > 1?
  +  (labels ((concatenated-product (number i)
  +             (apply #'concatenate-integers
  +                    (iterate (for n :from 1 :to i)
  +                             (collect (* number n))))))
  +    (iterate
  +      main
  +      (for base :from 1)
  +      ;; base can't be more than 5 digits long because we have to concatenate at
  +      ;; least two products of it
  +      (while (digits<= base 5))
  +      (iterate (for n :from 2)
  +               (for result = (concatenated-product base n))
  +               ;; result is only ever going to grow larger, so once we pass the
  +               ;; nine digit mark we can stop
  +               (while (digits<= result 9))
  +               (when (pandigitalp result)
  +                 (in main (maximizing result)))))))
  +
  +
   ;;;; Tests --------------------------------------------------------------------
   (def-suite :euler)
   (in-suite :euler)
  
positive.code: (defun hex (n)
    (format t "~X" n)
    (values))
  
  
  ;;;; Problems -----------------------------------------------------------------
  
negative.code: (test p35 (is (= 55 (problem-35))))
  (test p36 (is (= 872187 (problem-36))))
  (test p37 (is (= 748317 (problem-37))))
  (test p38 (is (= 932718654 (problem-38))))
  
  
  ;; (run! :euler)
  