Виклик
Завдання полягає в тому, щоб написати програму, яка приймає коефіцієнти будь-якого n-ступеня поліноміального рівняння як вхідні та повертає інтегральні значення x, для яких рівняння справедливо. Коефіцієнти будуть надані як вхідні дані в порядку зменшення або збільшення потужності. Ви можете вважати всі коефіцієнти цілими числами .
Вхід і вихід
Вхідними даними будуть коефіцієнти рівняння у порядку зменшення або збільшенні потужності. Ступінь рівняння, тобто максимальна потужність x, завжди на 1 менше, ніж загальна кількість елементів у вході.
Наприклад:
[1,2,3,4,5] -> represents x^4 + 2x^3 + 3x^2 + 4x + 5 = 0 (degree = 4, as there are 5 elements)
[4,0,0,3] -> represents 4x^3 + 3 = 0 (degree = 3, as there are 3+1 = 4 elements)
Вихід повинен бути лише різними інтегральними значеннями x, які задовольняють заданому рівнянню. Всі вхідні коефіцієнти є цілими числами, а вхідний многочлен не буде нульовим многочленом . Якщо для даного рівняння немає рішення, то вихід не визначений.
Якщо рівняння має повторювані корені, відобразіть цей конкретний корінь лише один раз. Значення можна виводити в будь-якому порядку. Також припустимо, що вхід буде містити щонайменше 2 числа.
Приклади
[1,5,6] -> (-3,-2)
[10,-42,8] -> (4)
[1,-2,0] -> (0,2)
[1, 1, -39, -121, -10, 168] -> (-4, -3, -2, 1, 7)
[1, 0, -13, 0, 36] -> (-3, -2, 2, 3)
[1,-5] -> (5)
[1,2,3] -> -
Зауважимо, що рівняння у другому прикладі також має корінь 0,2, але воно не відображається, оскільки 0,2 не є цілим числом.
Оцінка балів
Це код-гольф , тому найкоротший код (у байтах) виграє!