도구스학업·수학

삼차·사차방정식 계산기

카르다노 공식으로 삼차, 페라리 방법으로 사차의 근을 구합니다. 세 근이 모두 실수일 때 실수 산술로는 풀리지 않는 「환원 불능의 경우」를 삼각함수 해로 처리하고, 근을 원식에 되넣은 잔차를 함께 보여 줍니다.

1x³ + -6x² + 11x + -6 = 0

서로 다른 실근 셋 (Δ > 0)

삼각함수 해 (환원 불능의 경우)으로 풀었습니다. 근을 원식에 되넣은 잔차는 최대 8.88e-16이고, 근과 계수의 관계(비에타)도 맞습니다.

#잔차 |P(x)|
x130.0e+0
x220.0e+0
x318.9e-16
실근 개수3개
판별식 Δ4.0000e+0
누른 식t³ + (-1)t + (0)
푼 방법삼각함수 해 (환원 불능의 경우)
근의 합 (비에타)6 (기대값 6)
근의 곱 (비에타)6 (기대값 6)
최대 잔차8.88e-16
세 근이 모두 실수인데, 이 경우가 바로 환원 불능의 경우(casus irreducibilis)입니다. 카르다노 공식을 그대로 쓰면 음수의 제곱근이 나와 실수 산술만으로는 풀리지 않습니다 — 답은 전부 실수인데 계산 과정에 허수가 반드시 끼어드는 것이고, 실수 세제곱근만으로는 절대 풀 수 없다는 것이 증명되어 있습니다. 그래서 여기서는 삼각함수 항등식 4cos³θ − 3cosθ = cos3θ를 써서 x = 2√(−p/3)·cos(⅓arccos(…) − 2πk/3)로 구합니다.
푸는 순서는 이렇습니다. 최고차항으로 나눠 모닉으로 만들고, x = t − b/3a로 옮겨 이차항을 없앱니다(누르기). 남은 t³ + pt + q에서 판별식 Δ = −4p³ − 27q²의 부호가 근의 모양을 정하고, 마지막에 옮긴 만큼 되돌립니다.
삼차·사차까지는 이렇게 사칙연산과 거듭제곱근만으로 근을 적을 수 있지만, 오차 이상은 그런 공식이 존재하지 않습니다(아벨–루피니 정리). 오차부터는 수치해법으로 근을 찾습니다.

계산 방법

  1. 1차수를 고르고 계수를 넣습니다. 최고차항 계수는 0이 아니어야 합니다.
  2. 2근 표에서 실근과 복소근, 그리고 각 근의 잔차 |P(x)|를 확인합니다.
  3. 3판별식과 「푼 방법」 줄에서 어느 경우에 해당하는지 봅니다.
  4. 4근의 합·곱이 계수와 맞는지(비에타) 검산 줄로 확인합니다.

자주 묻는 질문

있습니다. 1545년 카르다노가 펴낸 공식으로, 이차항을 없앤 t³ + pt + q 꼴로 만든 뒤 세제곱근으로 근을 적습니다. 사차는 그의 제자 페라리가 풀었습니다. 다만 오차 이상은 사칙연산과 거듭제곱근만으로 적을 수 있는 공식이 존재하지 않는다는 것이 증명되어 있습니다(아벨–루피니 정리).

세 근이 모두 실수인데 카르다노 공식으로는 음수의 제곱근을 거쳐야만 하는 경우입니다. 판별식 Δ = −4p³ − 27q²가 양수일 때 생기며, 답이 전부 실수인데도 계산 과정에 허수가 반드시 끼어듭니다. 실수 세제곱근만으로는 풀 수 없다는 것이 증명되어 있어, 이 계산기는 삼각함수 항등식을 쓴 해 x = 2√(−p/3)·cos(⅓arccos(…) − 2πk/3)로 구합니다.

근의 모양을 알려 줍니다. 삼차에서 Δ > 0이면 서로 다른 실근 셋, Δ = 0이면 중근이 있고, Δ < 0이면 실근 하나와 켤레복소근 둘입니다. 실계수 삼차는 실근이 적어도 하나는 반드시 있습니다.

x = t − b/3a로 변수를 옮겨 이차항을 없앤 식입니다. 삼차는 t³ + pt + q, 사차는 y⁴ + py² + qy + r이 됩니다. 항이 줄어 공식이 훨씬 간단해지고, 마지막에 옮긴 만큼 되돌리면 원래 근이 나옵니다.

이차식 두 개의 곱으로 쪼갭니다. y⁴ + py² + qy + r = (y² + αy + β)(y² − αy + γ)로 놓고 계수를 맞추면 m = α²가 분해 삼차식 m³ + 2pm² + (p²−4r)m − q²의 양의 실근이어야 한다는 조건이 나옵니다. 삼차를 한 번 풀면 사차가 이차 둘로 무너지는 구조입니다.

구한 근이 정말 근인지 스스로 검산한 값이기 때문입니다. 근을 원래 식에 되넣으면 0이 나와야 하는데, 부동소수점 계산이라 정확히 0은 아니고 아주 작은 값이 됩니다. 이 값이 크면 그 근은 믿을 수 없다는 신호입니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 검증은 근을 먼저 정해 놓고 계수를 만들어(전개해) 그 근이 되돌아오는지 대조하는 방식으로 했습니다. 삼차는 무작위 실근 200벌과 켤레복소근 200벌, 사차는 실근 200벌과 복소근 쌍 200벌을 훑었습니다.
  • 환원 불능의 경우를 따로 고정했습니다. x³ − 3x + 1 = 0의 근이 알려진 값 2cos(2π/9), 2cos(8π/9), 2cos(14π/9)와 소수점 아홉 자리까지 맞는지, 그리고 세 실근인 무작위 300벌에서 NaN이 하나도 나오지 않는지 확인했습니다. 실수 산술로 밀어붙인 구현이 무너지는 자리입니다.
  • 근을 원식에 되넣은 잔차와 근의 합·곱(비에타)을 화면에서 함께 검산합니다.
  • 중근·삼중근·복이차식(q = 0)처럼 일반 공식이 0으로 나누는 자리를 각각 갈라 처리하고 테스트로 고정했습니다.
  • 계수를 상수배해도 근이 같은지도 확인했습니다.
  • 부동소수점 계산이라 계수 크기가 극단적으로 차이 나면 정밀도가 떨어질 수 있습니다. 잔차 열이 그 신호이니 함께 보시기 바랍니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.