대연술(大衍術)이라고도 하였는데, 대연의 명칭은 역(易)의 대연수(大衍數)에서 비롯된 것이다. 산경십서(算經十書)의 하나인 『손자산경(孫子算經)』에 그 원형을 볼 수 있다.
그 문제의 내용은 다음과 같다. “지금 어떤 물건이 있는데, 그 개수는 알 수 없다. 이것은 3개씩 세면 2개 남고, 5개씩 세면 3개, 그리고 7개씩 세면 2개 남는다. 물건의 개수는 모두 몇 개인가. 답 23.”
구하는 수를 X라고 한다면, X=3𝒙+2=5𝒚+3=7𝒛+2 를 푸는 문제가 된다. 『손자산경』의 이 문제는 남송의 진구소(秦九韶)에 의하여 『수서구장(數書九章)』 속에서 대연구일술(大衍九一術), 즉 대연술의 이름으로 깊이 다루어졌다.
진구소의 책에서는 역법(曆法)과 관련지어 이 방법을 사용하고 있으나 한대(漢代)의 역(曆) 계산에서도 이미 쓰인 것 같다. 이 대연술 또는 전관술은 『양휘산법(楊輝算法)』·『산법통종(算法統宗)』 등에서도 다루어져 있으며, 황윤석(黃胤錫)의 『산학입문(算學入門)』은 이 책에 실린 문제들을 한데 모아 소개하고 있다.
남병길(南秉吉)의 『산학정의(算學正義)』 하권 「대연」에는 이러한 문제가 2개 실려 있다. 그 하나를 보기로 들면, “한 사람에 한 섬씩 20명에게 배당하면 1말5되가 남고, 한 사람에 5근씩 16명에게 고기를 나누어 주면 2근3량(16량=1근)이 남는다. 또 간장 1말씩을 15명에게 나누어 주면 8되가 부족하다. 전체 인원은 얼마인가.”
이 문제를 좀더 알기 쉽게 고쳐 쓰면, “20명에게 각자 술 1섬씩 나누면 3인분이 남고, 16명에게 각각 고기 5근씩 주면 7인분이 남는다. 또, 15명에게 간장 1말씩 주면 12인분이 부족하다.” 즉, 총인원을 X라 하면 다음과 같이 계산할 수 있다.
X≡─3 mod 20 ⇔ X≡17 mod 20
X≡─7 mod 16 ⇔ X≡9 mod 16
X≡12 mod 15
이것을 남병길은 다음과 같이 계산하고 있다. ‘모’로부터 ‘정모’를 얻는 계산은 다음과 같이 한다. 가령, 모수가 30, 25, 20이었다면 최대공약수 5로 세 수 중 둘만 약분하고 하나를 그대로 두되, 약분한 뒤에는 어느 두 수 사이에도 5라는 약수가 없도록 하기 위하여 을의 수 25를 그대로 둔다. 그 결과 6, 25, 4를 얻는다.
그런데 갑·을 두 수의 약수 2가 있으므로, 그 중 하나만을 2로 나누어 3, 25, 4를 만든다. 이와 같이 서로 소가 되는 모수를 만들어 이것을 ‘정모’라 한다. 이 문제에서는 갑·을·병의 ‘모’가 20, 16, 15이므로 ‘정모’는 5, 16, 3이다. 또, ‘정모’의 곱 5×16×3=240을 ‘연모’로 하고, 이것을 ‘정모’로 나눈 것을 ‘연수’라고 한다. 즉, ‘연수’는 48, 15, 80이다. ‘연수’의 ‘정모’에 대한 최소 양의 나머지를 ‘기’라고 한다.
48≡3 mod 5
15≡15 mod 16
80≡2 mod 3
즉, ‘기’는 3, 15, 2이다. ‘기’를 a, ‘정모’를 m이라 할 때,
a𝒙≡1 mod m
을 만족시키는 최소의 양수를 ‘승’이라고 한다.
3𝒙≡1 mod 5의 해는 2
15𝒙≡1 mod 16의 해는 15
2𝒙≡1 mod 3의 해는 2
이므로, 승률은 2, 15, 2이다. 또, ‘승’ב연’=‘용’, 즉,
2×48=96
15×15=225
2×80=160
이므로, ‘용’은 96, 225, 160이다. 또, ‘승’ב용’=‘총’이다. 따라서,
갑의 ‘총’:17×96=1632
을의 ‘총’:9×225=2025
병의 ‘총’:12×160=1920
‘총’의 합을 개수에 따라 3총, 4총 등으로 부른다. 이 문제에서는 3개이므로,
3총:1632+2025+1920=5577
3총을 ‘연모’로 나누었을 때의 최소의 나머지는,
5577=57 mod 240
이므로, 57이 구하는 답이다.
남병길의 『시헌기요(時憲紀要)』는 당시의 역산연구가들의 교과서로 이용되었을 정도로, 그는 역법에 관해 조예가 깊었다. 그가 이 대연술(전관술)을 수학서에서 다루었던 것은, 이러한 소양을 반영하였다고 볼 수 있다.