(defn pow [x n] 
  (reduce * (repeat n x)))

(pow 55 2) ; 3025

(defn square [x]
  (pow x 2))

(square 55) ; 3025

(def sum (comp (partial reduce +) map))

(sum identity (range 0 11)) ; 55
(sum square (range 0 11)) ; 385

(defn sum-square-difference [n]
  (let [nums (range 0 (+ 1 n))]
    (- (square (sum identity nums))
       (sum square nums))))

(sum-square-difference 10) ; 2640
(sum-square-difference 100) ; 25164150