import numpy as np
while True:
    try:
        a=int(input("a= "))
        b=int(input("b= "))
        c=int(input("c= "))
        break
    except ValueError:
        pass
        break
title1="{}x**2{:+}x{:+}=0 "
print("2次方程式 ",title1.format(a,b,c)," を解くと ")
x_min = -100
x_max = 100
x_step = 1
flag1 = True
get_indexes = lambda st:[i for (t,i) in zip(st,range(len(st))) if t == 0]
get_indexes2 = lambda st:[i for (t,i) in zip(st,range(len(st))) if t < 0]
x = np.arange(x_min, x_max+1, x_step,dtype='int64')
y = a*x ** 2+b*x+c
j = get_indexes(y)
if len(j) != 0:
    flag1 = False
    print("整数解は ")
    for k in j:
        print("x=",x[k])
ys = np.insert(y,0,y[0])
yt = np.insert(y,-1,y[len(y)-1])
yy = yt*ys
j = get_indexes2(yy)

if len(j) != 0:
    flag1 = False
    print("実数解(整数解以外)は、")
    for k in j:
        print(x[k-1],"< x <",x[k])
    print("の範囲にある")

if flag1:
    print(x_min,"< x <",x_max," の範囲には実数解がない")