Kā atrisināt lineāro diofantīna vienādojumu

Autors: Mark Sanchez
Radīšanas Datums: 5 Janvārī 2021
Atjaunināšanas Datums: 1 Jūlijs 2024
Anonim
Linear Diophantine Equations | Road to RSA Cryptography #3
Video: Linear Diophantine Equations | Road to RSA Cryptography #3

Saturs

Lai atrisinātu lineāro diofantīna vienādojumu, jums jāatrod mainīgo "x" un "y" vērtības, kas ir veseli skaitļi. Vesela skaitļa risinājums ir sarežģītāks nekā parasti un prasa noteiktu darbību kopumu. Pirmkārt, jums jāaprēķina lielākais koeficientu kopējais dalītājs (GCD) un pēc tam jāatrod risinājums. Kad esat atradis lineārā vienādojuma vienu veselu skaitļu risinājumu, varat izmantot vienkāršu modeli, lai atrastu bezgalīgu skaitu citu risinājumu.

Soļi

1. daļa no 4: Kā uzrakstīt vienādojumu

  1. 1 Pierakstiet vienādojumu standarta formā. Lineārais vienādojums ir vienādojums, kurā mainīgo eksponenti nepārsniedz 1. Lai atrisinātu šādu lineāru vienādojumu, vispirms uzrakstiet to standarta formā. Lineārā vienādojuma standarta forma izskatās šādi: Ax+By=C{ displaystyle Ax + By = C}, kur A,B{ displaystyle A, B} un C{ displaystyle C} - veseli skaitļi.
    • Ja vienādojums ir dots citā formā, pārnesiet to uz standarta formu, izmantojot pamata algebriskās operācijas. Piemēram, ņemot vērā vienādojumu 23x+4y7x=3y+15{ displaystyle 23x + 4y -7x = -3y + 15}... Dodiet līdzīgus terminus un uzrakstiet vienādojumu šādi: 16x+7y=15{ displaystyle 16x + 7y = 15}.
  2. 2 Vienkāršojiet vienādojumu (ja iespējams). Rakstot vienādojumu standarta formā, apskatiet koeficientus A,B{ displaystyle A, B} un C{ displaystyle C}... Ja šiem koeficientiem ir GCD, sadaliet visus trīs koeficientus ar to. Šāda vienkāršota vienādojuma risinājums būs arī sākotnējā vienādojuma risinājums.
    • Piemēram, ja visi trīs koeficienti ir vienādi, daliet tos ar vismaz 2. Piemēram:
      • 42x+36y=48{ displaystyle 42x + 36y = 48} (visi dalībnieki dalās ar 2)
      • 21x+18y=24{ displaystyle 21x + 18y = 24} (tagad visi dalībnieki dalās ar 3)
      • 7x+6y=8{ displaystyle 7x + 6y = 8} (šo vienādojumu vairs nevar vienkāršot)
  3. 3 Pārbaudiet, vai vienādojumu var atrisināt. Dažos gadījumos jūs varat uzreiz paziņot, ka vienādojumam nav risinājumu. Ja koeficients "C" nav dalāms ar koeficientu "A" un "B" GCD, vienādojumam nav risinājumu.
    • Piemēram, ja abi koeficienti A{ displaystyle A} un B{ displaystyle B} ir pat, tad koeficients C{ displaystyle C} jābūt vienmērīgam. Bet ja C{ displaystyle C} dīvaini, tad risinājuma nav.
      • Vienādojums 2x+4y=21{ displaystyle 2x + 4y = 21} nav veselu skaitļu risinājumu.
      • Vienādojums 5x+10y=17{ displaystyle 5x + 10y = 17} nav veselu skaitļu risinājumu, jo vienādojuma kreisā puse dalās ar 5, bet labā - ne.

2. daļa no 4: Kā uzrakstīt Eiklida algoritmu

  1. 1 Izprotiet Eiklida algoritmu. Tā ir atkārtotu dalījumu virkne, kurā iepriekšējais atlikums tiek izmantots kā nākamais dalītājs. Pēdējais dalītājs, kas integrāli sadala skaitļus, ir lielākais kopējais dalītājs (GCD) no abiem skaitļiem.
    • Piemēram, atradīsim skaitļu 272 un 36 GCD, izmantojot Eiklida algoritmu:
      • 272=736+20{ displaystyle 272 = 7 * 36 + 20} - Sadaliet lielāko skaitu (272) ar mazāko (36) un pievērsiet uzmanību pārējam (20);
      • 36=120+16{ displaystyle 36 = 1 * 20 + 16} - daliet iepriekšējo dalītāju (36) ar iepriekšējo atlikumu (20). Ievērojiet jauno atlikumu (16);
      • 20=116+4{ displaystyle 20 = 1 * 16 + 4} - daliet iepriekšējo dalītāju (20) ar iepriekšējo atlikumu (16). Ievērojiet jauno atlikumu (4);
      • 16=44+0{ displaystyle 16 = 4 * 4 + 0} - Sadaliet iepriekšējo dalītāju (16) ar iepriekšējo atlikumu (4). Tā kā atlikums ir 0, mēs varam teikt, ka 4 ir sākotnējo divu skaitļu 272 un 36 GCD.
  2. 2 Izmantojiet Eiklida algoritmu koeficientiem "A" un "B". Rakstot lineāro vienādojumu standarta formā, nosakiet koeficientus "A" un "B" un pēc tam izmantojiet tiem Eiklida algoritmu, lai atrastu GCD. Piemēram, ņemot vērā lineāro vienādojumu 87x64y=3{ displaystyle 87x-64y = 3}.
    • Šeit ir Eiklida algoritms koeficientiem A = 87 un B = 64:
      • 87=164+23{ displaystyle 87 = 1 * 64 + 23}
      • 64=223+18{ displaystyle 64 = 2 * 23 + 18}
      • 23=118+5{ displaystyle 23 = 1 * 18 + 5}
      • 18=35+3{ displaystyle 18 = 3 * 5 + 3}
      • 5=13+2{ displaystyle 5 = 1 * 3 + 2}
      • 3=12+1{ displaystyle 3 = 1 * 2 + 1}
      • 2=21+0{ displaystyle 2 = 2 * 1 + 0}
  3. 3 Atrodiet lielāko kopējo faktoru (GCD). Tā kā pēdējais dalītājs bija 1, GCD 87 un 64 ir 1. Tādējādi 87 un 64 ir pirmskaitļi viens pret otru.
  4. 4 Analizējiet rezultātu. Kad atrodat gcd koeficientus A{ displaystyle A} un B{ displaystyle B}, salīdziniet to ar koeficientu C{ displaystyle C} sākotnējais vienādojums. Ja C{ displaystyle C} dalāms ar gcd A{ displaystyle A} un B{ displaystyle B}, vienādojumam ir vesels skaitlis; pretējā gadījumā vienādojumam nav risinājumu.
    • Piemēram, vienādojums 87x64y=3{ displaystyle 87x-64y = 3} var atrisināt, jo 3 dalās ar 1 (gcd = 1).
    • Piemēram, pieņemsim, ka GCD = 5. 3 nav vienmērīgi dalāms ar 5, tāpēc šim vienādojumam nav veselu skaitļu risinājumu.
    • Kā parādīts zemāk, ja vienādojumam ir viens veselu skaitļu risinājums, tam ir arī bezgalīgs skaits citu veselu skaitļu risinājumu.

3. daļa no 4: Kā atrast risinājumu, izmantojot Eiklida algoritmu

  1. 1 Numurējiet GCD aprēķināšanas soļus. Lai atrastu lineārā vienādojuma risinājumu, jums ir jāizmanto Eiklīda algoritms kā pamats aizstāšanas un vienkāršošanas procesam.
    • Sāciet, numurējot GCD aprēķināšanas soļus. Aprēķina process izskatās šādi:
      • 1. darbība:87=(164)+23{ displaystyle { text {Step 1}}: 87 = (1 * 64) +23}
      • 2. solis:64=(223)+18{ displaystyle { text {2. darbība}}: 64 = (2 * 23) +18}
      • 3. solis:23=(118)+5{ displaystyle { text {3. darbība}}: 23 = (1 * 18) +5}
      • 4. solis:18=(35)+3{ displaystyle { text {Step 4}}: 18 = (3 * 5) +3}
      • 5. solis:5=(13)+2{ displaystyle { text {5. darbība}}: 5 = (1 * 3) +2}
      • 6. darbība:3=(12)+1{ displaystyle { text {6. darbība}}: 3 = (1 * 2) +1}
      • 7. solis:2=(21)+0{ displaystyle { text {7. darbība}}: 2 = (2 * 1) +0}
  2. 2 Pievērsiet uzmanību pēdējam solim, kur ir atlikums. Pārrakstiet šīs darbības vienādojumu, lai izolētu pārējo.
    • Mūsu piemērā pēdējais solis ar atlikumu ir 6. solis. Pārējais ir 1. Pārrakstiet 6. darbības vienādojumu šādi:
      • 1=3(12){ displaystyle 1 = 3- (1 * 2)}
  3. 3 Izolējiet iepriekšējā soļa atlikušo daļu. Šis process ir soli pa solim "virzīties uz augšu". Katru reizi, kad atlikušo atlikumu izolēsit iepriekšējā solī.
    • Izolējiet atlikušo vienādojumu 5. darbībā:
      • 2=5(13){ displaystyle 2 = 5- (1 * 3)} vai 2=53{ displaystyle 2 = 5-3}
  4. 4 Aizstāt un vienkāršot. Ievērojiet, ka 6. darbības vienādojumā ir skaitlis 2, un 5. soļa vienādojumā skaitlis 2 ir izolēts. Tātad “2” vietā 6. soļa vienādojumā aizstājiet 5. darbības izteiksmi:
    • 1=32{ displaystyle 1 = 3-2} (6. soļa vienādojums)
    • 1=3(53){ displaystyle 1 = 3- (5-3)} (2 vietā tika aizstāta izteiksme)
    • 1=35+3{ displaystyle 1 = 3-5 + 3} (atvērtas iekavas)
    • 1=2(3)5{ displaystyle 1 = 2 (3) -5} (vienkāršots)
  5. 5 Atkārtojiet aizstāšanas un vienkāršošanas procesu. Atkārtojiet aprakstīto procesu, pārvietojoties pa Eiklida algoritmu apgrieztā secībā. Katru reizi, kad pārrakstīsit iepriekšējā soļa vienādojumu un pievienosit to pēdējam saņemtajam vienādojumam.
    • Pēdējais solis, kuru mēs apskatījām, bija 5. solis. Tātad, pārejiet pie 4. darbības un izolējiet pārējo šī soļa vienādojumā:
      • 3=18(35){ displaystyle 3 = 18- (3 * 5)}
    • Aizstājiet šo izteiksmi ar "3" pēdējā vienādojumā:
      • 1=2(1835)5{ displaystyle 1 = 2 (18-3 * 5) -5}
      • 1=2(18)6(5)5{ displaystyle 1 = 2 (18) -6 (5) -5}
      • 1=2(18)7(5){ displaystyle 1 = 2 (18) -7 (5)}
  6. 6 Turpiniet aizstāšanas un vienkāršošanas procesu. Šis process tiks atkārtots, līdz sasniegsit Eiklīda algoritma sākotnējo soli. Procesa mērķis ir uzrakstīt vienādojumu ar sākotnējā atrisināmā vienādojuma koeficientiem 87 un 64. Mūsu piemērā:
    • 1=2(18)7(5){ displaystyle 1 = 2 (18) -7 (5)}
    • 1=2(18)7(2318){ displaystyle 1 = 2 (18) -7 (23-18)} (aizstāja 3. darbības izteiksmi)
      • 1=2(18)7(23)+7(18){ displaystyle 1 = 2 (18) -7 (23) +7 (18)}
      • 1=9(18)7(23){ displaystyle 1 = 9 (18) -7 (23)}
    • 1=9(64223)7(23){ displaystyle 1 = 9 (64-2 * 23) -7 (23)} (aizstāja 2. darbības izteiksmi)
      • 1=9(64)18(23)7(23){ displaystyle 1 = 9 (64) -18 (23) -7 (23)}
      • 1=9(64)25(23){ displaystyle 1 = 9 (64) -25 (23)}
    • 1=9(64)25(8764){ displaystyle 1 = 9 (64) -25 (87-64)} (aizstāja 1. darbības izteiksmi)
      • 1=9(64)25(87)+25(64){ displaystyle 1 = 9 (64) -25 (87) +25 (64)}
      • 1=34(64)25(87){ displaystyle 1 = 34 (64) -25 (87)}
  7. 7 Pārrakstiet iegūto vienādojumu saskaņā ar sākotnējiem koeficientiem. Atgriežoties pie Eiklida algoritma pirmā soļa, jūs redzēsit, ka iegūtais vienādojums satur divus sākotnējā vienādojuma koeficientus. Pārrakstiet vienādojumu tā, lai tā nosacījumu secība sakristu ar sākotnējā vienādojuma koeficientiem.
    • Mūsu piemērā sākotnējais vienādojums 87x64y=3{ displaystyle 87x-64y = 3}... Tāpēc pārrakstiet iegūto vienādojumu tā, lai koeficienti tiktu saskaņoti.Pievērsiet īpašu uzmanību koeficientam "64". Sākotnējā vienādojumā šis koeficients ir negatīvs, un Eiklīda algoritmā tas ir pozitīvs. Tāpēc koeficients 34 ir jāpadara negatīvs. Galīgais vienādojums tiks uzrakstīts šādi:
      • 87(25)64(34)=1{ displaystyle 87 (-25) -64 (-34) = 1}
  8. 8 Lai atrastu risinājumu, izmantojiet atbilstošo reizinātāju. Ņemiet vērā, ka mūsu piemērā GCD = 1, tāpēc galīgais vienādojums ir 1. Bet sākotnējais vienādojums (87x-64y) ir 3. Tāpēc visi galīgā vienādojuma nosacījumi jāreizina ar 3, lai iegūtu risinājumu:
    • 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 Pierakstiet vienādojumam veselu skaitļu risinājumu. Skaitļi, kas reizināti ar sākotnējā vienādojuma koeficientiem, ir šī vienādojuma risinājumi.
    • Mūsu piemērā uzrakstiet risinājumu kā koordinātu pāri: (x,y)=(75,102){ displaystyle (x, y) = ( - 75, -102)}.

4. daļa no 4: Atrodiet bezgalīgus citus risinājumus

  1. 1 Saprotiet, ka ir bezgala daudz risinājumu. Ja lineārajam vienādojumam ir viens veselu skaitļu risinājums, tad tam ir jābūt bezgala daudzam veselu skaitļu risinājumam. Šeit ir ātrs pierādījums (algebriskā formā):
    • Ax+By=C{ displaystyle Ax + By = C}
    • A(x+B)+B(yA)=C{ displaystyle A (x + B) + B (y-A) = C} (ja pievienojat "B" pie "x" un atņemat "A" no "y", sākotnējā vienādojuma vērtība nemainīsies)
  2. 2 Ierakstiet sākotnējās x un y vērtības. Veidne nākamo (bezgalīgo) risinājumu aprēķināšanai sākas ar vienīgo jau atrasto risinājumu.
    • Mūsu piemērā risinājums ir koordinātu pāris (x,y)=(75,102){ displaystyle (x, y) = ( - 75, -102)}.
  3. 3 Pievienojiet "B" faktoru "x" vērtībai. Dariet to, lai atrastu jauno x vērtību.
    • Mūsu piemērā x = -75 un B = -64:
      • x=75+(64)=139{ displaystyle x = -75 + ( - 64) = - 139}
    • Tādējādi jaunā vērtība "x": x = -139.
  4. 4 No "y" vērtības atņemiet koeficientu "A". Lai sākotnējā vienādojuma vērtība nemainītos, pievienojot vienu skaitli "x", no "y" ir jāatņem cits skaitlis.
    • Mūsu piemērā y = -102 un A = 87:
      • y=10287=189{ displaystyle y = -102-87 = -189}
    • Tādējādi jaunā vērtība "y": y = -189.
    • Jaunais koordinātu pāris tiks uzrakstīts šādi: (x,y)=(139,189){ displaystyle (x, y) = ( - 139, -189)}.
  5. 5 Pārbaudiet risinājumu. Lai pārbaudītu, vai jaunais koordinātu pāris ir sākotnējā vienādojuma risinājums, pievienojiet vērtības vienādojumam.
    • 87x64y=3{ displaystyle 87x-64y = 3}
    • 87(139)64(189)=3{ displaystyle 87 (-139) -64 (-189) = 3}
    • 3=3{ displaystyle 3 = 3}
    • Tā kā vienlīdzība ir izpildīta, lēmums ir pareizs.
  6. 6 Pierakstiet izteicienus, lai atrastu daudzus risinājumus. "X" vērtības būs vienādas ar sākotnējo risinājumu un jebkuru "B" koeficienta reizinājumu. To var uzrakstīt šādi:
    • x (k) = x + k (B), kur “x (k)” ir “x” vērtību kopa un “x” ir atrastā “x” sākotnējā (pirmā) vērtība.
      • Mūsu piemērā:
      • x(k)=7564k{ displaystyle x (k) = - 75-64k}
    • y (k) = y-k (A), kur y (k) ir y vērtību kopa un y ir atrastā sākotnējā (pirmā) y vērtība.
      • Mūsu piemērā:
      • y(k)=10287k{ displaystyle y (k) = - 102–87 k}