               (->>
                 (map - (->d v1 i) (->d v2 i))
                 reverse))
+        solve-quad' (fn
+                      [a b c]
+                      (solve-quad (/ a 2) b c))
         rs (for [d dms]
              (->>
                d
-               (apply solve-quad)
+               (apply solve-quad')
                #_(map
                  #(if (contains? #{nil :*} %) % (Math/round (double %))))
                set))
         rs-matter (remove #(contains? % :*) rs)]
+    (prn rs)
     (if (empty? rs-matter)
       #{:*}
       (apply clojure.set/intersection rs-matter))))

  (prn x)
  x)

(defn quad-zeros
  [[a b c]]
  (if (= 0 a b c)
    #{:*}
    #{}))

(defn solve-linear
  [a b]
  (if (zero? a)


(defn solve-quad
  [a b c]
  (prn a b c)
  (let [t1 (- 0 b)
        t2 (Math/sqrt (- (* b b) (* 4 a c)))
        t3 (* 2 a)
