Jak rozwiązać liniowe równanie diofantyczne

Autor: Mark Sanchez
Data Utworzenia: 5 Styczeń 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Linear Diophantine Equations | Road to RSA Cryptography #3
Wideo: Linear Diophantine Equations | Road to RSA Cryptography #3

Zawartość

Aby rozwiązać liniowe równanie diofantyczne, musisz znaleźć wartości zmiennych „x” i „y”, które są liczbami całkowitymi. Rozwiązanie liczb całkowitych jest bardziej złożone niż zwykle i wymaga określonego zestawu działań. Najpierw musisz obliczyć największy wspólny dzielnik (NWD) współczynników, a następnie znaleźć rozwiązanie. Gdy znajdziesz jedno całkowite rozwiązanie równania liniowego, możesz użyć prostego wzoru, aby znaleźć nieskończoną liczbę innych rozwiązań.

Kroki

Część 1 z 4: Jak napisać równanie

  1. 1 Zapisz równanie w standardowej formie. Równanie liniowe to równanie, w którym wykładniki zmiennych nie przekraczają 1. Aby rozwiązać takie równanie liniowe, najpierw napisz je w standardowej formie. Standardowa postać równania liniowego wygląda tak: Ax+btak=C{ displaystyle Axe + By = C}, gdzie A,b{ styl wyświetlania A, B} oraz C{ styl wyświetlania C} - wszystkie liczby.
    • Jeśli równanie jest podane w innej postaci, sprowadź je do postaci standardowej za pomocą podstawowych operacji algebraicznych. Na przykład, biorąc pod uwagę równanie 23x+4tak7x=3tak+15{ styl wyświetlania 23x + 4y-7x = -3y + 15}... Podaj podobne terminy i napisz równanie w ten sposób: 16x+7tak=15{ styl wyświetlania 16x + 7y = 15}.
  2. 2 Uprość równanie (jeśli to możliwe). Kiedy piszesz równanie w standardowej formie, spójrz na współczynniki A,b{ styl wyświetlania A, B} oraz C{ styl wyświetlania C}... Jeśli te kursy mają GCD, podziel wszystkie trzy kursy przez niego. Rozwiązaniem tak uproszczonego równania będzie również rozwiązanie pierwotnego równania.
    • Na przykład, jeśli wszystkie trzy współczynniki są parzyste, podziel je przez co najmniej 2. Na przykład:
      • 42x+36tak=48{ styl wyświetlania 42x + 36y = 48} (wszyscy członkowie są podzielni przez 2)
      • 21x+18tak=24{ Displaystyle 21x + 18y = 24} (teraz wszyscy członkowie są podzielni przez 3)
      • 7x+6tak=8{ styl wyświetlania 7x + 6y = 8} (tego równania nie można już uprościć)
  3. 3 Sprawdź, czy równanie można rozwiązać. W niektórych przypadkach można od razu stwierdzić, że równanie nie ma rozwiązań. Jeżeli współczynnik „C” nie jest podzielny przez NWD współczynników „A” i „B”, równanie nie ma rozwiązań.
    • Na przykład, jeśli oba współczynniki A{ styl wyświetlania A} oraz b{ styl wyświetlania B} są parzyste, to współczynnik C{ styl wyświetlania C} musi być równa. Ale jeśli C{ styl wyświetlania C} dziwne, to nie ma rozwiązania.
      • Równanie 2x+4tak=21{ styl wyświetlania 2x + 4y = 21} brak rozwiązań całkowitoliczbowych.
      • Równanie 5x+10tak=17{ styl wyświetlania 5x + 10y = 17} nie ma rozwiązań całkowitych, ponieważ lewa strona równania jest podzielna przez 5, a prawa nie.

Część 2 z 4: Jak napisać algorytm Euklidesa

  1. 1 Zrozum algorytm Euklidesa. Jest to seria powtarzających się dzieleń, w których poprzednia reszta jest używana jako następny dzielnik. Ostatni dzielnik, który dzieli liczby w sposób całkowity, jest największym wspólnym dzielnikiem (NWP) tych dwóch liczb.
    • Na przykład znajdźmy NWD liczb 272 i 36 za pomocą algorytmu Euklidesa:
      • 272=736+20{ styl wyświetlania 272 = 7 * 36 + 20} - Podziel większą liczbę (272) przez mniejszą (36) i zwróć uwagę na resztę (20);
      • 36=120+16{ styl wyświetlania 36 = 1 * 20 + 16} - podzielić poprzedni dzielnik (36) przez poprzednią resztę (20). Zwróć uwagę na nową pozostałość (16);
      • 20=116+4{ styl wyświetlania 20 = 1 * 16 + 4} - podziel poprzedni dzielnik (20) przez poprzednią resztę (16). Zwróć uwagę na nową pozostałość (4);
      • 16=44+0{ styl wyświetlania 16 = 4 * 4 + 0} - Podziel poprzedni dzielnik (16) przez poprzednią resztę (4). Ponieważ reszta to 0, możemy powiedzieć, że 4 to NWD oryginalnych dwóch liczb 272 i 36.
  2. 2 Zastosuj algorytm Euklidesa do współczynników „A” i „B”. Kiedy piszesz równanie liniowe w standardowej postaci, określ współczynniki „A” i „B”, a następnie zastosuj do nich algorytm Euklidesa, aby znaleźć GCD. Na przykład, biorąc pod uwagę równanie liniowe 87x64tak=3{ styl wyświetlania 87x-64y = 3}.
    • Oto algorytm Euklidesa dla współczynników A = 87 i B = 64:
      • 87=164+23{ Displaystyle 87 = 1 * 64 + 23}
      • 64=223+18{ Displaystyle 64 = 2 * 23 + 18}
      • 23=118+5{ styl wyświetlania 23 = 1 * 18 + 5}
      • 18=35+3{ styl wyświetlania 18 = 3 * 5 + 3}
      • 5=13+2{ styl wyświetlania 5 = 1 * 3 + 2}
      • 3=12+1{ styl wyświetlania 3 = 1 * 2 + 1}
      • 2=21+0{ styl wyświetlania 2 = 2 * 1 + 0}
  3. 3 Znajdź największy wspólny czynnik (GCD). Ponieważ ostatnim dzielnikiem był 1, NWD 87 i 64 to 1. Zatem 87 i 64 są liczbami pierwszymi względem siebie.
  4. 4 Przeanalizuj wynik. Kiedy znajdziesz współczynniki gcd A{ styl wyświetlania A} oraz b{ styl wyświetlania B}, porównaj to ze współczynnikiem C{ styl wyświetlania C} oryginalne równanie. Jeśli C{ styl wyświetlania C} podzielne przez gcd A{ styl wyświetlania A} oraz b{ styl wyświetlania B}równanie ma rozwiązanie całkowitoliczbowe; w przeciwnym razie równanie nie ma rozwiązań.
    • Na przykład równanie 87x64tak=3{ styl wyświetlania 87x-64y = 3} można rozwiązać, ponieważ 3 jest podzielne przez 1 (gcd = 1).
    • Załóżmy na przykład, że GCD = 5. 3 nie jest podzielne przez 5, więc to równanie nie ma rozwiązań całkowitych.
    • Jak pokazano poniżej, jeśli równanie ma jedno rozwiązanie całkowitoliczbowe, ma również nieskończoną liczbę innych rozwiązań całkowitoliczbowych.

Część 3 z 4: Jak znaleźć rozwiązanie za pomocą algorytmu Euklidesa

  1. 1 Ponumeruj etapy obliczania GCD. Aby znaleźć rozwiązanie równania liniowego, musisz użyć algorytmu euklidesowego jako podstawy do procesu podstawienia i uproszczenia.
    • Zacznij od numerowania kroków do obliczenia GCD. Proces obliczania wygląda tak:
      • Krok 1:87=(164)+23{ displaystyle { tekst {Krok 1}}: 87 = (1 * 64) +23}
      • Krok 2:64=(223)+18{ displaystyle { tekst {krok 2}}: 64 = (2 * 23) +18}
      • Krok 3:23=(118)+5{ Displaystyle { tekst {Krok 3}}: 23 = (1 * 18) + 5}
      • Krok 4:18=(35)+3{ styl wyświetlania { tekst {krok 4}}: 18 = (3 * 5) +3}
      • Krok 5:5=(13)+2{ Displaystyle { tekst {Krok 5}}: 5 = (1 * 3) +2}
      • Krok 6:3=(12)+1{ styl wyświetlania { tekst {krok 6}}: 3 = (1 * 2) +1}
      • Krok 7:2=(21)+0{ styl wyświetlania { tekst {krok 7}}: 2 = (2 * 1) + 0}
  2. 2 Zwróć uwagę na ostatni krok, gdzie jest reszta. Przepisz równanie dla tego kroku, aby wyizolować resztę.
    • W naszym przykładzie ostatnim krokiem z resztą jest krok 6. Reszta to 1. Przepisz równanie w kroku 6 w następujący sposób:
      • 1=3(12){ styl wyświetlania 1 = 3- (1 * 2)}
  3. 3 Odizoluj pozostałą część poprzedniego kroku. Ten proces to krok po kroku „w górę”. Za każdym razem wyizolujesz resztę z równania w poprzednim kroku.
    • Wyizoluj pozostałą część równania w kroku 5:
      • 2=5(13){ styl wyświetlania 2 = 5- (1 * 3)} lub 2=53{ styl wyświetlania 2 = 5-3}
  4. 4 Zastąp i uprość. Zauważ, że równanie w kroku 6 zawiera liczbę 2, a w równaniu w kroku 5 liczba 2 jest izolowana. Zatem zamiast „2” w równaniu w kroku 6, zastąp wyrażenie w kroku 5:
    • 1=32{ styl wyświetlania 1 = 3-2} (równanie kroku 6)
    • 1=3(53){ styl wyświetlania 1 = 3- (5-3)} (zamiast 2 zostało podstawione wyrażenie)
    • 1=35+3{ styl wyświetlania 1 = 3-5 + 3} (otwarte nawiasy)
    • 1=2(3)5{ styl wyświetlania 1 = 2 (3) -5} (uproszczony)
  5. 5 Powtórz proces zastępowania i upraszczania. Powtórz opisany proces, przechodząc przez algorytm euklidesowy w odwrotnej kolejności. Za każdym razem przepiszesz równanie z poprzedniego kroku i podłączysz je do ostatniego otrzymanego równania.
    • Ostatnim krokiem, który przyjrzeliśmy się, był krok 5. Przejdź do kroku 4 i wyodrębnij resztę z równania dla tego kroku:
      • 3=18(35){ styl wyświetlania 3 = 18- (3 * 5)}
    • Zastąp to wyrażenie „3” w ostatnim równaniu:
      • 1=2(1835)5{ styl wyświetlania 1 = 2 (18-3 * 5) -5}
      • 1=2(18)6(5)5{ styl wyświetlania 1 = 2 (18) -6 (5) -5}
      • 1=2(18)7(5){ styl wyświetlania 1 = 2 (18) -7 (5)}
  6. 6 Kontynuuj proces zastępowania i upraszczania. Ten proces będzie powtarzany, aż dojdziesz do początkowego kroku algorytmu euklidesowego. Celem procesu jest zapisanie równania o współczynnikach 87 i 64 pierwotnego równania do rozwiązania. W naszym przykładzie:
    • 1=2(18)7(5){ styl wyświetlania 1 = 2 (18) -7 (5)}
    • 1=2(18)7(2318){ styl wyświetlania 1 = 2 (18) -7 (23-18)} (podstawiono wyrażenie z kroku 3)
      • 1=2(18)7(23)+7(18){ Displaystyle 1 = 2 (18) -7 (23) + 7 (18)}
      • 1=9(18)7(23){ styl wyświetlania 1 = 9 (18) -7 (23)}
    • 1=9(64223)7(23){ Displaystyle 1 = 9 (64-2 * 23) -7 (23)} (podstawiono wyrażenie z kroku 2)
      • 1=9(64)18(23)7(23){ Displaystyle 1 = 9 (64) -18 (23) -7 (23)}
      • 1=9(64)25(23){ styl wyświetlania 1 = 9 (64) -25 (23)}
    • 1=9(64)25(8764){ Displaystyle 1 = 9 (64) -25 (87-64)} (podstawiono wyrażenie z kroku 1)
      • 1=9(64)25(87)+25(64){ displaystyle 1 = 9 (64) -25 (87) +25 (64)}
      • 1=34(64)25(87){ styl wyświetlania 1 = 34 (64) -25 (87)}
  7. 7 Przepisz otrzymane równanie zgodnie z oryginalnymi współczynnikami. Gdy powrócisz do pierwszego kroku algorytmu euklidesowego, zobaczysz, że wynikowe równanie zawiera dwa współczynniki pierwotnego równania. Przepisz równanie tak, aby kolejność jego terminów odpowiadała współczynnikom oryginalnego równania.
    • W naszym przykładzie oryginalne równanie 87x64tak=3{ styl wyświetlania 87x-64y = 3}... Dlatego przepisz wynikowe równanie, aby współczynniki zostały wyrównane.Zwróć szczególną uwagę na współczynnik „64”. W pierwotnym równaniu współczynnik ten jest ujemny, a w algorytmie euklidesowym dodatni. Dlatego współczynnik 34 musi być ujemny. Ostateczne równanie zostanie napisane tak:
      • 87(25)64(34)=1{ displaystyle 87 (-25) -64 (-34) = 1}
  8. 8 Zastosuj odpowiedni mnożnik, aby znaleźć rozwiązanie. Zauważ, że w naszym przykładzie NWD = 1, więc końcowe równanie to 1. Ale oryginalne równanie (87x-64y) to 3. Dlatego wszystkie wyrazy w końcowym równaniu muszą być pomnożone przez 3, aby uzyskać rozwiązanie:
    • 87(253)64(343)=13{ displaystyle 87 (-25 * 3) -64 (-34 * 3) = 1 * 3}
    • 87(75)64(102)=3{ displaystyle 87 (-75) -64 (-102) = 3}
  9. 9 Zapisz rozwiązanie równania w postaci liczb całkowitych. Liczby pomnożone przez współczynniki pierwotnego równania są rozwiązaniami tego równania.
    • W naszym przykładzie napisz rozwiązanie jako parę współrzędnych: (x,tak)=(75,102){ styl wyświetlania (x, y) = (- 75, -102)}.

Część 4 z 4: Znajdź nieskończone inne rozwiązania

  1. 1 Zrozum, że istnieje nieskończona liczba rozwiązań. Jeśli równanie liniowe ma jedno rozwiązanie całkowitoliczbowe, to musi mieć nieskończenie wiele rozwiązań całkowitoliczbowych. Oto szybki dowód (w formie algebraicznej):
    • Ax+btak=C{ displaystyle Axe + By = C}
    • A(x+b)+b(takA)=C{ styl wyświetlania A (x + B) + B (y-A) = C} (jeśli dodasz „B” do „x” i odejmiesz „A” od „y”, wartość oryginalnego równania się nie zmieni)
  2. 2 Zapisz oryginalne wartości x i y. Szablon do obliczania następnych (nieskończonych) rozwiązań zaczyna się od jedynego rozwiązania, które już znalazłeś.
    • W naszym przykładzie rozwiązaniem jest para współrzędnych (x,tak)=(75,102){ styl wyświetlania (x, y) = (- 75, -102)}.
  3. 3 Dodaj współczynnik „B” do wartości „x”. Zrób to, aby znaleźć nową wartość x.
    • W naszym przykładzie x = -75, a B = -64:
      • x=75+(64)=139{ styl wyświetlania x = -75 + (- 64) = - 139}
    • Zatem nowa wartość „x”: x = -139.
  4. 4 Odejmij współczynnik „A” od wartości „y”. Aby wartość pierwotnego równania się nie zmieniła, dodając jedną liczbę do „x”, musisz odjąć inną liczbę od „y”.
    • W naszym przykładzie y = -102, a A = 87:
      • tak=10287=189{ styl wyświetlania y = -102-87 = -189}
    • Zatem nowa wartość dla „y”: y = -189.
    • Nowa para współrzędnych zostanie zapisana w następujący sposób: (x,tak)=(139,189){ styl wyświetlania (x, y) = (- 139, -189)}.
  5. 5 Sprawdź rozwiązanie. Aby sprawdzić, czy nowa para współrzędnych jest rozwiązaniem pierwotnego równania, wstaw wartości do równania.
    • 87x64tak=3{ styl wyświetlania 87x-64y = 3}
    • 87(139)64(189)=3{ displaystyle 87 (-139) -64 (-189) = 3}
    • 3=3{ styl wyświetlania 3 = 3}
    • Ponieważ równość jest spełniona, decyzja jest prawidłowa.
  6. 6 Zapisz wyrażenia, aby znaleźć wiele rozwiązań. Wartości „x” będą równe oryginalnemu rozwiązaniu plus dowolna wielokrotność współczynnika „B”. Można to zapisać jako następujące wyrażenie:
    • x (k) = x + k (B), gdzie „x (k)” to zbiór wartości „x”, a „x” to pierwotna (pierwsza) znaleziona wartość „x”.
      • W naszym przykładzie:
      • x(k)=7564k{ styl wyświetlania x (k) = - 75-64k}
    • y (k) = y-k (A), gdzie y (k) to zbiór wartości y, a y to oryginalna (pierwsza) znaleziona wartość y.
      • W naszym przykładzie:
      • tak(k)=10287k{ styl wyświetlania y (k) = - 102-87k}