2012-02-02 3 views
1

함수에서 첫 번째 완벽한 사각형을 찾는 방법 : f(n)=An²+Bn+C? B와 C가 주어진다. A, B, C 및 n은 항상 정수이며 A는 항상 1입니다. 문제는 n을 찾는 것입니다.효율적으로 완벽한 사각형 찾기

Example: A=1, B=2182, C=3248

최초의 정사각형에 대한 대답은 sqrt(f(16))=196 때문에, n은 = 16.

내 알고리즘은 n을 증가시키고 제곱근이 정수 nunber인지 테스트합니다.

이 알고리즘은 B 또는 C가 큰 경우 응답을 찾기 위해 n 개의 계산이 필요하기 때문에 매우 느립니다.

이 계산을 더 빨리 할 수 ​​있습니까? 답변을 얻을 수있는 간단한 공식이 있습니까? 당신이 찾고있는 무엇

+0

만약 내가 너라면 나는 수학 stackexchange에서 이것을 물어볼 것이다. –

+4

아마도 http://math.stackexchange.com/ – weston

답변

10

가 일반 차 디오 판 투스 방정식 당신이 1

Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0 

의 특별한 경우에 정수 솔루션입니다

ax^2 + bx + c = y^2 

그래서 A = a, B = 0, C = -1, D = b, E = 0, F = c 그 곳 a, b, c은 알려진 정수이며이 방정식을 만족하는 알려지지 않은 xy을 찾고 있습니다. 일단 이것을 인식하면이 일반적인 문제에 대한 해결책이 풍부 해집니다. Mathematica는 그것을 할 수 있으며 (Reduce[eqn && Element[x|y, Integers], x, y] 사용) source code을 포함하는 here 구현과 method of solution에 대한 설명을 찾을 수도 있습니다.

: 이것을 conic section으로 인식 할 수 있습니다. 그것은이고, 사람들은 studying them for thousands of years이었습니다. 따라서, 그들에 대한 우리의 이해는 매우 깊고 당신의 문제는 실제로 매우 유명합니다. 그들에 대한 연구는 immensely deep and still active area of mathematics입니다.

+0

에 대한 링크를 추가 할 수 있습니다. [일반화 된 Pell 방정식] (http://www.jpr2718.org/pell.pdf) –

+0

에 pdf 링크를 추가 할 수도 있습니다. 짐과 제이슨, 도와 줘서 고마워. 너의 대답은 매우 도움이되었다. – user1185049