def solveCubicEquation(a, b): '''Solve cubic equation x^3 + a*x + b = 0''' a = complex(a) b = complex(b) d = (27*b)**2 + 4*27*a**3 y = (-27*b + d**(1/2))/54 u = y**(1/3) v = -a/(3*u) x = u + v return x if __name__ == "__main__": while True: print("Solve cubic equation x^3 + a*x + b = 0") try: s = input("a: ") a = complex(s) s = input("b: ") b = complex(s) x = solveCubicEquation(a, b) print("Solution:", x) except ValueError: if s == 'q': break print("Incorrect format of a number")