Featured image of post معادلة بيل: سحر المعادلة الديوفانتية ذات الحلول اللانهائية والكسور المستمرة

معادلة بيل: سحر المعادلة الديوفانتية ذات الحلول اللانهائية والكسور المستمرة

دليل تفصيلي حول معادلة بيل، وحلها باستخدام الكسور المستمرة، وتوليد عدد لا نهائي من الحلول.

مقدمة

في مجال نظرية الأعداد، تُعرف معادلة بيل (Pell’s equation) كواحدة من أجمل المعادلات الديوفانتية والتي تمتلك خلفية نظرية عميقة. في هذا المقال، سنقدم شرحًا تفصيليًا للغاية بدءًا من التعريف الأساسي وخصائص هذه المعادلة، وصولاً إلى طريقة حل أنيقة وفعالة باستخدام الكسور المستمرة (Continued fractions)، وآلية توليد حلولها اللانهائية. لكل من يحب الرياضيات، قمنا بتغطية كل شيء بدءًا من اشتقاق الصيغ إلى التمثيل المرئي للخوارزميات والتنفيذ باستخدام لغة برمجة.

1. ما هي معادلة بيل؟

تشير معادلة بيل إلى معادلة ديوفانتية تربيعية بمتغيرين لها الشكل التالي:

$$ x^2 - ny^2 = 1 $$

هنا، $n$ هو عدد صحيح موجب ليس مربعًا كاملاً (خالي من المربعات أو على الأقل ليس مربعًا كاملاً). هدفنا هو إيجاد أزواج من الأعداد الصحيحة المجهولة $x$ و $y$ التي تحقق هذه المعادلة. لنفترض للحظة أن $n$ مربع كامل، أي أن $n = k^2$ (حيث $k$ عدد صحيح). عندئذ يمكن تحويل المعادلة على النحو التالي:

$$ x^2 - k^2y^2 = 1 $$$$ (x - ky)(x + ky) = 1 $$

بما أن $x$ و $y$ و $k$ جميعها أعداد صحيحة، يجب أن يكون $(x - ky)$ و $(x + ky)$ أعدادًا صحيحة أيضًا. المجموعات الوحيدة من الأعداد الصحيحة التي حاصل ضربها هو 1 هي $(1, 1)$ أو $(-1, -1)$. بحل هذا ينتج $y = 0$، مما يعني أن الحلول تقتصر على الحلول البسيطة جدًا: $(x, y) = (\pm 1, 0)$. لذلك، في معادلة بيل، يعتبر شرط أن $n$ ليس مربعًا كاملاً فرضية أساسية لإيجاد حلول ذات مغزى.

2. الخلفية التاريخية: بيل، فيرما، وعلماء الرياضيات الهنود القدماء

على الرغم من أن هذه المعادلة تحمل اسم “بيل”، إلا أن استكشاف الحقائق التاريخية يكشف عن خلفية غريبة بعض الشيء. في الواقع، كان أول شخص في أوروبا الحديثة يدرس حلاً عامًا لهذه المعادلة ويؤكد بقوة أن الحل موجود دائمًا هو عالم الرياضيات الفرنسي العظيم بيير دي فيرما (Pierre de Fermat).

في وقت لاحق، ربط ليونهارد أويلر (Leonhard Euler) عن طريق الخطأ اسم عالم الرياضيات الإنجليزي جون بيل (John Pell) بهذه المعادلة، ومنذ ذلك الحين عُرفت على نطاق واسع باسم “معادلة بيل”. لم يلعب بيل نفسه دورًا مركزيًا في طريقة حل هذه المعادلة.

بالعودة إلى الوراء في الزمن، قام عالما الرياضيات الهنديان براهماغوبتا (Brahmagupta) و بهاسكارا الثاني (Bhāskara II) بحساب حلول لمعادلات من هذا النوع باستخدام خوارزمية متطورة تسمى طريقة شاكرافالا (Chakravala method)، وذلك قبل مئات السنين من فيرما. إن تاريخ الاستكشاف من قبل علماء الرياضيات من العصور القديمة عبر العصور الوسطى إلى العصر الحديث منقوش في هذه المعادلة.

3. الفرق بين الحلول البديهية وغير البديهية

بالنسبة لمعادلة بيل $x^2 - ny^2 = 1$، بغض النظر عن قيمة $n$، يوجد دائمًا الحل $(x, y) = (\pm 1, 0)$. بالتعويض بهذه القيم في المعادلة نحصل على $1^2 - n \cdot 0^2 = 1$، وهو صحيح بوضوح. يُسمى هذا حلاً بديهيًا (trivial solution).

ومع ذلك، ما يهتم به علماء الرياضيات حقًا هو الحل غير البديهي (non-trivial solution) حيث $y \neq 0$. والمثير للدهشة أنه إذا كان $n$ عددًا صحيحًا موجبًا وليس مربعًا كاملاً، فقد ثبت رياضيًا أن معادلة بيل لها عدد لا نهائي من الحلول غير البديهية. علاوة على ذلك، من بين هذه الحلول اللانهائية، أصغر حل حيث يكون كل من $x$ و $y$ أعدادًا صحيحة موجبة يُسمى الحل الأساسي (fundamental solution)، وبمجرد العثور عليه، يمكن بسهولة توليد جميع الحلول الأخرى من خلال العمليات الجبرية.

4. الارتباط العميق بين الكسور المستمرة ومعادلة بيل

الأداة الأقوى والأكثر معيارية للعثور بكفاءة على الحل الأساسي هي الكسر المستمر (Continued fraction). نظرًا لأن العدد غير النسبي $\sqrt{n}$ لا يمكن تمثيله بكسر منتهٍ، فيمكن التعبير عنه بشكل جميل ككسر مستمر منتظم دوري يستمر إلى ما لا نهاية.

$$ \sqrt{n} = [a_0; \overline{a_1, a_2, \dots, a_k, 2a_0}] $$

هنا، $a_0$ هو الجزء الصحيح من $\sqrt{n}$ (أي $\lfloor \sqrt{n} \rfloor$)، والجزء الموجود أسفل الخط العلوي يمثل الجزء الدوري من الكسر المستمر. لتكن $m$ هي طول هذه الدورة.

العدد النسبي $\frac{p_i}{q_i}$ الذي تم الحصول عليه عن طريق اقتطاع الكسر المستمر عند حد معين يسمى متقارب (convergent). توفر المتقاربات أفضل التقريبات النسبية للعدد غير النسبي $\sqrt{n}$. بشكل مدهش، يتم الحصول على الحل الأساسي $(x_1, y_1)$ لمعادلة بيل مباشرة من البسط $p$ والمقام $q$ لمتقارب معين في فك الكسر المستمر لـ $\sqrt{n}$. تحديدًا، يتم تحديده بواسطة طول الدورة $m$ على النحو التالي:

  • إذا كانت الدورة $m$ زوجية: يكون الحل الأساسي هو $(p_{m-1}, q_{m-1})$.
  • إذا كانت الدورة $m$ فردية: يكون الحل الأساسي هو $(p_{2m-1}, q_{2m-1})$.

5. إيجاد الحل الأساسي: شرح شامل للخوارزمية

يمكن حساب المتقاربات $\frac{p_i}{q_i}$ بسرعة كبيرة على جهاز كمبيوتر باستخدام علاقات التكرار التالية.

$$ p_i = a_i p_{i-1} + p_{i-2} $$$$ q_i = a_i q_{i-1} + q_{i-2} $$

يتم تعيين الشروط الأولية على النحو التالي للسماح للخوارزمية بالبدء بسلاسة:

  • $p_{-1} = 1, \quad p_{-2} = 0$
  • $q_{-1} = 0, \quad q_{-2} = 1$

يمكن أيضًا إيجاد كل حد $a_i$ من الكسر المستمر بالتسلسل باستخدام عمليات الحساب الصحيحة فقط. وهذا يتيح إجراء حسابات أعداد صحيحة دقيقة تقضي تمامًا على أخطاء حساب النقطة العائمة.

لتصور سلسلة العمليات في البحث عن حل، قمنا بإعداد مخطط انتقال الحالة التالي.

  flowchart TD
    Start["البداية: أدخل العدد الصحيح n"] --> CheckSquare["تحديد ما إذا كان n مربعًا كاملاً"]
    CheckSquare --|"نعم"| Trivial["توجد حلول بديهية فقط (النهاية)"] --> End["النهاية"]
    CheckSquare --|"لا"| InitContFrac["تهيئة التكرار للكسر المستمر"]
    InitContFrac --> CalcNext["حساب الحد التالي a_i والمتقارب (p_i, q_i)"]
    CalcNext --> CheckEq["الشرط: تقييم p_i^2 - n * q_i^2 == 1"]
    CheckEq --|"خطأ"| CalcNext
    CheckEq --|"صحيح"| Found["تم العثور على الحل الأساسي (x_1, y_1) = (p_i, q_i)"] --> End

6. مثال محدد: فك الكسر المستمر والحل الأساسي لـ n = 7

بدلاً من مجرد النظرية المجردة، لنتتبع الحسابات للحالة المحددة لـ $n = 7$. تصبح معادلة بيل $x^2 - 7y^2 = 1$.

أولاً، الجزء الصحيح لـ $\sqrt{7}$ هو $a_0 = 2$. بتكرار عملية أخذ المقلوب للجزء العشري المتبقي واستخراج الجزء الصحيح، نجد أن فك الكسر المستمر لـ $\sqrt{7}$ هو كما يلي:

$$ \sqrt{7} = [2; \overline{1, 1, 1, 4}] $$

الدورة هي $m = 4$، وهي زوجية. لذلك، يجب الحصول على الحل الأساسي من المتقارب $\frac{p_3}{q_3}$. لنحسب المتقاربات بالترتيب باستخدام علاقات التكرار.

  • $i=0$: عندما يكون $a_0=2$، فإن $\frac{p_0}{q_0} = \frac{2}{1}$
  • $i=1$: عندما يكون $a_1=1$، فإن $p_1 = 1 \times 2 + 1 = 3$ و $q_1 = 1 \times 1 + 0 = 1$. وبالتالي، $\frac{p_1}{q_1} = \frac{3}{1}$
  • $i=2$: عندما يكون $a_2=1$، فإن $p_2 = 1 \times 3 + 2 = 5$ و $q_2 = 1 \times 1 + 1 = 2$. وبالتالي، $\frac{p_2}{q_2} = \frac{5}{2}$
  • $i=3$: عندما يكون $a_3=1$، فإن $p_3 = 1 \times 5 + 3 = 8$ و $q_3 = 1 \times 2 + 1 = 3$. وبالتالي، $\frac{p_3}{q_3} = \frac{8}{3}$

لنتحقق من ذلك بتعويض $(p_3, q_3) = (8, 3)$ الذي حصلنا عليه في المعادلة. $8^2 - 7 \times 3^2 = 64 - 7 \times 9 = 64 - 63 = 1$. إنه يحقق الشرط تمامًا، لذا يصبح هذا هو الحل الأساسي $(x_1, y_1) = (8, 3)$ لـ $n = 7$.

7. توليد حلول لانهائية: نهج باستخدام المصفوفات وعلاقات التكرار

بمجرد العثور على حل أساسي واحد على الأقل $(x_1, y_1)$، يمكن توليد جميع الحلول الصحيحة الموجبة الأخرى $(x_k, y_k)$ بشكل لا نهائي من العلاقة الجبرية التالية.

$$ x_k + y_k \sqrt{n} = (x_1 + y_1 \sqrt{n})^k \quad \text{for} \quad k = 1, 2, 3, \dots $$

من خلال فك هذا التعبير ومقارنة الجزء النسبي والجزء غير النسبي (معامل $\sqrt{n}$)، نحصل على علاقة تكرار لحساب الحل التالي $(x_{k+1}, y_{k+1})$ من الحل السابق $(x_k, y_k)$. يؤدي التعبير عن ذلك بصيغة مصفوفة إلى شكل مرتب للغاية.

$$ \begin{pmatrix} x_{k+1} \\ y_{k+1} \end{pmatrix} = \begin{pmatrix} x_1 & n y_1 \\ y_1 & x_1 \end{pmatrix} \begin{pmatrix} x_k \\ y_k \end{pmatrix} $$

يمكن أيضًا حساب أي حل من الرتبة $k$ مباشرةً باستخدام أسس المصفوفة على النحو التالي:

$$ \begin{pmatrix} x_k \\ y_k \end{pmatrix} = \begin{pmatrix} x_1 & n y_1 \\ y_1 & x_1 \end{pmatrix}^{k-1} \begin{pmatrix} x_1 \\ y_1 \end{pmatrix} $$

تشير هذه الخاصية بقوة إلى أن حلول معادلة بيل ليست مجرد متواليات من الأرقام، بل تمتلك بنية جبرية (بنية زمرة).

8. متطابقة براهماغوبتا وطريقة شاكرافالا

في الرياضيات الهندية القديمة، لعبت متطابقة براهماغوبتا دورًا مركزيًا في حل معادلة بيل. تأخذ هذه المتطابقة الشكل التالي:

$$ (x_1^2 - ny_1^2)(x_2^2 - ny_2^2) = (x_1 x_2 + n y_1 y_2)^2 - n(x_1 y_2 + x_2 y_1)^2 $$

الجانب الرائع لهذه المتطابقة هو أنه من خلال الجمع بين حل $(x_1, y_1)$ لـ $x^2 - ny^2 = k_1$ وحل $(x_2, y_2)$ لـ $x^2 - ny^2 = k_2$، يمكن للمرء تجميع حل جديد مباشرةً $(X, Y)$ بحيث يكون $X^2 - nY^2 = k_1 k_2$.

استخدم علماء الرياضيات الهنود هذه المتطابقة القوية ببراعة لتجميع الحلول ذات الأخطاء الصغيرة واحدة تلو الأخرى، وفي النهاية طوروا طريقة شاكرافالا للوصول إلى حل بخطأ مقداره $1$، أي حل لمعادلة بيل. هذا إنجاز هائل في التاريخ الرياضي البشري، حيث يمتلك كفاءة تعادل أو تزيد عن فك الكسر المستمر.

9. مثال تنفيذي باستخدام بايثون وشرح

الآن بعد أن فهمنا تمامًا الخلفية النظرية، دعنا نكتب برنامجًا بالفعل. ينفذ نص بايثون (Python) البرمجي التالي علاقة التكرار للكسر المستمر لـ $n$ معين ويبحث عن الحل الأساسي لمعادلة بيل. نظرًا لأنه يعالج بالكامل باستخدام حساب الأعداد الصحيحة دون استخدام أرقام الفاصلة العائمة، فلا داعي للقلق بشأن فقدان الدقة.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import math

def is_square(n):
    """
    دالة لتحديد ما إذا كان الرقم المحدد n مربعًا كاملاً بسرعة.
    """
    s = math.isqrt(n)
    return s * s == n

def solve_pell(n):
    """
    يحسب الحل الأساسي لمعادلة بيل x^2 - n * y^2 = 1 باستخدام طريقة الكسور المستمرة.
    القيمة المرجعة: صف (Tuple) يحتوي على الحل الأساسي (x, y). يرجع None للمربعات الكاملة.
    """
    if is_square(n):
        return None  # لا توجد حلول غير بديهية للمربعات الكاملة

    # تهيئة لحسابات الكسر المستمر
    m = 0
    d = 1
    a0 = math.isqrt(n)
    a = a0
    
    # الإعداد الأولي للمتقاربات (p_{-1}=1, p_{-2}=0, q_{-1}=0, q_{-2}=1)
    num1, num2 = 1, 0  # p_{i-1}, p_{i-2}
    den1, den2 = 0, 1  # q_{i-1}, q_{i-2}
    
    # المتقارب الأول (p_0, q_0)
    num = a0
    den = 1
    
    # تكرار حتى يتحقق الشرط x^2 - n*y^2 == 1
    while num * num - n * den * den != 1:
        # حساب الحد التالي a_i من الكسر المستمر
        m = d * a - m
        d = (n - m * m) // d
        a = (a0 + m) // d
        
        # تحديث المتقاربات p_i, q_i
        num2 = num1
        num1 = num
        den2 = den1
        den1 = den
        
        num = a * num1 + num2
        den = a * den1 + den2

    return num, den

# مثال على الاستخدام: عندما يكون n = 7
n = 7
solution = solve_pell(n)
if solution:
    x, y = solution
    print(f"الحل الأساسي لـ n={n}: x={x}, y={y}")
    print(f"التحقق: {x}^2 - {n}*{y}^2 = {x**2 - n * y**2}")

عند تنفيذ هذا الكود، يتم إخراج الحل الأساسي $(x, y) = (8, 3)$ على الفور، تمامًا كما حسبناه يدويًا سابقًا. إذا جربت قيمة أكبر لـ $n$، مثل $61$، فيمكنك التحقق من أن الحل يصبح أرقامًا هائلة ($x = 1766319049, y = 226153980$)، مما يتيح لك أن تشعر حقًا بمدى عمق معادلة بيل.

10. جسر إلى نظرية الأعداد الجبرية: العلاقة مع مبرهنة الوحدة لدركليه

معادلة بيل ليست مجرد لغز للأعداد الصحيحة. في الرياضيات الحديثة، تُعد بوابة حيوية لنظرية الحقول التربيعية الحقيقية $\mathbb{Q}(\sqrt{n})$.

تتوافق حلول معادلة بيل ارتباطًا وثيقًا بـ الوحدات (العناصر التي تكون معكوساتها أيضًا أعدادًا صحيحة جبرية) في حلقة الأعداد الصحيحة الجبرية لحقل تربيعي حقيقي. يتوافق الحل الأساسي مع الوحدة الأساسية (fundamental unit) التي تولد زمرة الوحدات هذه، وحقيقة وجود عدد لا نهائي من الحلول لمعادلة بيل يمكن اعتبارها حالة خاصة لمبرهنة أكثر تقدمًا، وهي مبرهنة الوحدة لدركليه (Dirichlet’s unit theorem). يعد فهم خصائص الوحدة الأساسية أمرًا بالغ الأهمية للبحث بعمق في صيغ رقم الفئة للحقول التربيعية وهنية فئات المثاليات (ideal classes).

11. الخاتمة

في هذا المقال، استكشفنا بالتفصيل واحدة من أروع المعادلات الديوفانتية، معادلة بيل، بدءًا من أساسياتها وحتى تطبيقاتها. لقد شرحنا الحقيقة المدهشة المتمثلة في وجود عدد لا نهائي من الحلول غير البديهية دائمًا لأي $n$ غير مربع، وهي خوارزمية فعالة للبحث عن حلول باستخدام فك الكسور المستمرة، وديناميكية تجميع حلول جديدة واحدًا تلو الآخر من الحل الأساسي المولد باستخدام المصفوفات.

إن حقيقة أن المشكلات الكلاسيكية التي فكر فيها فيرما وبراهماغوبتا قبل مئات السنين يمكن تنفيذها بشكل جميل كخوارزميات كمبيوتر حديثة، وتتصل أيضًا بنظرية الأعداد الجبرية المتقدمة، تثير رومانسية رياضية عميقة وخالدة. نأمل أن تغتنم هذه الفرصة لاستخدام كود بايثون واستكشاف عالم معادلة بيل لقيم مختلفة لـ $n$ والتطرق إلى الخصائص العميقة للأعداد.

comments powered by Disqus