Problem 9
(let* ((n (string-to-number (car argv))) (a 1) b c ans) (setq ans (catch 'found (while (<= a (/ n 3)) (setq b (1+ a)) (while (<= b (/ (- n a) 2)) (setq c (- n a b)) (if (= (+ (* a a) (* b b)) (* c c)) (throw 'found (list a b c)) ) (setq b (1+ b)) ) (setq a (1+ a)) ))) (princ ans) (princ "\n") (princ (apply #'* ans)) (princ "\n") )