I´ve done this a few years ago, one gets pretty pictures of the solution. Here is my translation of my former function in the English language. The code is for readability and understanding and can be optimized.
In a first step all the equations are set up, then useless equations (like 0*x^2+0*x+5==0) filtered out. Next equations with a common factor are filtered out. then the solutions are computed and the output is done.
Clear[polynomsolutions];
polynomSolutions[list_List, pointSize_, opts : OptionsPattern[]] :=
Module[{ temp, points, eqns, sols, coeffs, gr},
coeffs = Tuples[list, 3];
coeffs =
DeleteCases[
coeffs, {0, 0, _}]; (*eliminate equations without solution *)
coeffs = Union @ (coeffs / Apply[GCD, coeffs, {1}]); (* e.q: (4,4,
2)\[Rule] (2,2,1) *)
temp = coeffs.{x^2, x, 1};
eqns = Thread[temp == 0];
sols = Solve[#, {x}] & /@ eqns // N;
points = x /. sols;
points = Union @ Flatten @ points;
points = {Re[#], Im[#]} & /@ points;
(*gr = {PointSize[0.0025],Hue[Norm[#]],Point[#]}&/@punkte;*)
gr = {PointSize[pointSize], Point[#]} & /@ points;
Print[StringForm["Number of equations ``", Length @ coeffs]];
Graphics [gr, FilterRules[{opts}, Options[Graphics]]]
]
If one runs the program for all equations with coefficients in the range -20...20 with the following code you get a nice picture.
polynomSolutions[Range[-20, 20], 0.0015, Frame -> True,
FrameTicks -> {Range[-3, 3], Range[-3, 3]},
PlotRange -> {{-3, 3}, {-3, 3}}]

It is also interesting to look at solutions of polynomial of degree greater than 2