قضیه باقی‌مانده چینی

قضیه باقی‌مانده چینی(Chinese remainder theorem) قضیه‌ای در زمینه نظریه اعداد است و تعمیم آن در جبر نظری بیان می‌شود.
شرح قضیه
فرم اولیه قضیه در کتاب سان زی سوآنجینگ(孙子算经)(Sun Zi Suanjing) نوشته ریاضی‌دان چینی سان تزو (Sun Tzu) که بعدا با عنوان ۱۲۴۷ توسط قین جیوشاو (Qin Jiushao) باز نوشت شد گنجانده شده.
فرض کنید n ۱ ، n ۲ ، …، n k اعداد صحیحی باشند که دو به دو نسبت به هم اولند. برای هر سری اعداد صحیح a ۱ ،a ۲ ، …، a k عدد صحیح x وجود دارد به‌طوری‌که در دستگاه معادلات همنهشتی زیر صدق کند:
\begin{align
x -\equiv a_1 \pmod{n_1 \\
x -\equiv a_2 \pmod{n_2 \\
-\vdots \\
x -\equiv a_k \pmod{n_k
\end{align
علاوه بر این تمام جوابهای x به پیمانه N = n ۱ n ۲ …n k همنهشتند. در نتیجه برای همه داریم: اگر و تنها اگر .
گاهی اوقات این دستگاه حتی زمانی که همه n i‌ها دوبه دو نسبت به هم اول نیستند هم قابل حل است: جواب x وجود دارد اگر و تنها اگر:
در این حالات تمام جوابهای x به پیمانه کوچک‌ترین مضرب مشترک n i‌ها همنهشتند.
شکلهایی از این قضیه در کتابLiber Abaci از فیبوناچی(Fibonacci) در سال ۱۲۰۲ آمده‌است.
الگوریتمی ساختاری برای یافتن جواب
این الگوریتم قسمتی از اثبات قضیه هم هست زیرا جواب x را برای دستگاه پیدا می‌کند.
این الگوریتم تنها زمانی که‌ها دوبه دو نسبت به هم اولند جواب می‌دهد. در حالی که روش تفریق‌های متوالی معمولا حتی زمانی که پیمانه‌ها دو به دو نسبت به هم اول نیستند هم کاربرد دارد.
فرض کنید جوابی برای دستگاه معادلات زیر وجود دارد.
حاصلضرب تعریف می‌شود. جواب x به صورت زیر بدست می‌آید. برای هرi، و نسبت به هم اولند. با استفاده از الگوریتم گسترده اقلیدس(extended Euclidean algorithm) می‌توان اعداد و را طوری‌که باشد را یافت. با فرض اینکه باشد می‌توان به عبارت زیر رسید.
با در نظر گرفتن ، عبارت بالا تضمین می‌کند که باقی‌مانده تقسیم آن بر برابر ۱ خواهد بود. از طرفی چون خود این عدد برابر تعریف شده‌است، بر تمام‌ها مگر بخشپذیر است و داریم:
در نتیجه با استفاده از قوانین ضرب در همنهشتی‌ها، جوابی برای دستگاه معادلات همنهشتی به صورت زیر خواهد بود:
نمونه
پرسشی برای بدست آوردن عدد صحیح x که در دستگاه زیر صدق کند را در نظر بگیرید.
با استفاده از الگوریتم اقلیدس برای ۳و ۴×۵ = ۲۰ داریم (۱۳-) × ۳ + ۲ × ۲۰ = ۱، یعنی e ۱ = ۴۰ و برای ۴ و ۳×۵ = ۱۵ بدست می‌آوریم (۱۱-) × ۴ + ۳ × ۱۵ = ۱ یعنی e ۲ = ۴۵. در نهایت برای ۵ و ۳×۴ = ۱۲ الگوریتم اقلیدس نتیجه می‌دهد۵ × ۵ + (۲-) × ۱۲ = ۱ به این معنا که e ۳ = −۲۴ است. پس یکی از جوابها برای x عدد ۲ × ۴۰ + ۳ × ۴۵ + ۱ × (۲۴-) = ۱۹۱ است. تمام اعداد صحیح دیگر که به پیمانه ۳ × ۴ × ۵ = ۶۰ با ۱۹۱ همنهشتند هم جواب هستند. یعنی همه آن‌ها با ۱۱ به پمانه ۶۰ همنهشتند.
نکته: ممکن است اعداد بدست آمده با الگوریتم اقلیدس برای‌ها متفاوت باشد، اما در جواب نهایی همه مشترکند.
کاربرد
از این قضیه در الگوریتم RSA برای رسیدن به جواب در زمان کمتر استفاده می‌شود.
برای انجام محاسبات بر روی اعداد بسیار بزرگ از این قضیه استفاده می‌شود. اعداد که نسبت به هم اولند به عنوان انتخاب می‌شوند و اعداد بزرگ برای محاسبه به صورت زوج مرتب از‌ها در می‌آیند و پس از انجام محاسبات بر روی‌ها نتیجه به صورت خود عدد درمی‌آید.
اثبات قضیه
یک طرف قضیه با روشی که برای بدست آوردن جواب ارائه شد اثبات شد. اثبات یکتایی این جواب هم با استفاده از برهان خلف ثابت می‌شود:
فرض می‌کنیم که دو جواب صحیح مثبت x و y کوچکتر از N برای دستگاه وجود دارد. بعد ثابت می‌کنیم که هر کدام از n i‌ها تفاضل این دو عدد را می‌شمارد. نتیجه می‌شود که N هم تفاضل این دو عدد را می‌شمارد که این خلاف فرض ما است که دو عدد x و y را بین صفر و N در نظر گرفتیم.
تعمیم
فرض کنید و همچنین اعدادی صحیح باشند که برای هر داریم: . که ب.م.م و است. حال حتما عدد صحیح وجود دارد به‌طوری‌که در دستگاه معادلات همنهشتی زیر صدق کند:
\begin{align
x -\equiv a_1 \pmod{d_1 \\
x -\equiv a_2 \pmod{d_2 \\
-\vdots \\
x -\equiv a_k \pmod{d_k
\end{align