{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 291 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 296 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 307 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 308 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 311 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 312 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 313 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Error" 7 8 1 {CSTYLE "" -1 -1 "" 0 1 255 0 255 1 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT 257 0 "" }{TEXT 258 62 "Chapter 17: Using Maple to Solve kth Root Modulo m Congruences" }}{PARA 0 "" 0 "" {TEXT 256 0 "" }}{PARA 0 "" 0 "" {TEXT -1 114 "Maple can be use t o save a tremendous amount of time in solving root congruences. We fir st unassign all variables." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "Maple has a packag e, " }{TEXT 259 9 "numtheory" }{TEXT -1 126 ", that is designed to do \+ many different types of number theory computations. We enter this pack age into our package using the " }{TEXT 260 4 "with" }{TEXT -1 11 " st atement." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(numtheory) ;" }}{PARA 7 "" 1 "" {TEXT -1 69 "Warning, the protected name order ha s been redefined and unprotected\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# 7Q%&GIgcdG%)bigomegaG%&cfracG%)cfracpolG%+cyclotomicG%)divisorsG%)fact orEQG%*factorsetG%'fermatG%)imagunitG%&indexG%/integral_basisG%)invcfr acG%'invphiG%*issqrfreeG%'jacobiG%*kroneckerG%'lambdaG%)legendreG%)mco mbineG%)mersenneG%(migcdexG%*minkowskiG%(mipolysG%%mlogG%'mobiusG%&mro otG%&msqrtG%)nearestpG%*nthconverG%)nthdenomG%)nthnumerG%'nthpowG%&ord erG%)pdexpandG%$phiG%#piG%*pprimrootG%)primrootG%(quadresG%+rootsunity G%*safeprimeG%&sigmaG%*sq2factorG%(sum2sqrG%$tauG%%thueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Suppose we desire to solve the congruence :" }}{PARA 256 "" 0 "" {XPPEDIT 18 0 "x^20075;" "6#*$%\"xG\"&v+#" } {TEXT -1 23 "= 13973 (mod 43279809)." }}{PARA 0 "" 0 "" {TEXT -1 51 "W e enter and store the parameters for the exponent " }{TEXT 261 1 "k" } {TEXT -1 9 ", number " }{TEXT 262 1 "b" }{TEXT -1 14 ", and modulus " }{TEXT 263 1 "m" }{TEXT -1 2 ". " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "k := 20075; b := 13973; m := 43279809;" }{TEXT -1 0 " " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"kG\"&v+#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"&tR\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"mG \")4)zK%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 112 "Step 1 of the soluti on process requires us the compute the Euler phi function of the given modulus. The command " }{TEXT 264 4 "phi " }{TEXT -1 7 "in the " } {TEXT 265 9 "numtheory" }{TEXT -1 125 " package computes the Euler phi function for a given number. To enter the number of integers relative ly prime to the modulus " }{TEXT 266 1 "m" }{TEXT -1 18 " = 43279809, \+ enter" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "phi(m);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\");#R#G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 179 "The next command uses the gcd command to check that the greate st common divisor of the necessary parameters in our problem is indeed 1 to guarantee that the solution method works." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 24 "gcd(b,m); gcd(k,phi(m));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "Step 2 of the solution process req uires to us to solve " }{TEXT 267 3 "ku " }{TEXT -1 2 "+ " }{XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" }{TEXT 269 1 "m" }{TEXT -1 1 ") " }{TEXT 268 1 "v" }{TEXT -1 12 " = 1, where " }{TEXT 270 1 "u" } {TEXT -1 5 " and " }{TEXT 271 1 "v" }{TEXT -1 37 " are positive soluti ons. The command " }{TEXT 273 6 "igcdex" }{TEXT -1 41 " will perform t he Euclidean algorithm on " }{TEXT 290 1 "k" }{TEXT -1 5 " and " } {XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" }{TEXT 272 1 "m" } {TEXT -1 65 ") to start the solution process. This command has the par ameters " }{TEXT 278 6 "igcdex" }{TEXT -1 1 "(" }{TEXT 274 1 "a" } {TEXT -1 2 ", " }{TEXT 275 1 "b" }{TEXT -1 2 ", " }{TEXT 276 1 "x" } {TEXT -1 2 ", " }{TEXT 277 1 "y" }{TEXT -1 9 "), where " }{TEXT 285 1 "a" }{TEXT -1 5 " and " }{TEXT 286 1 "b" }{TEXT -1 86 " are the two nu mbers we will compute the greatest common divisor of, that is, the gcd (" }{TEXT 283 1 "a" }{TEXT -1 1 "," }{TEXT 284 1 "b" }{TEXT -1 17 "). \+ The variables " }{TEXT 281 1 "x" }{TEXT -1 5 " and " }{TEXT 282 1 "y" }{TEXT -1 135 " are optional parameters (usually stored in single quot es to ensure variable unassignment) that represents the coefficient so lutions in" }{TEXT 279 3 " ax" }{TEXT -1 3 " + " }{TEXT 280 2 "by" } {TEXT -1 21 " = 1. We first solve " }{TEXT 287 3 "ku " }{TEXT -1 2 "+ \+ " }{XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" }{TEXT 289 1 "m" } {TEXT -1 1 ")" }{TEXT 288 1 "v" }{TEXT -1 16 " = 1 by entering" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "igcdex(k,phi(m),'u','v'); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "Only the gcd(" }{TEXT 292 1 "k" }{TEXT -1 2 ", " } {XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" }{TEXT 291 1 "m" } {TEXT -1 41 ")) is output in the last command. To see " }{TEXT 293 1 " u" }{TEXT -1 5 " and " }{TEXT 294 1 "v" }{TEXT -1 6 ", type" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "u; v;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!(X)GG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"%6?" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "The next command can be used to ch eck that " }{TEXT 311 2 "u " }{TEXT -1 4 "and " }{TEXT 312 2 "v " } {TEXT -1 11 "are correct" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "k*u + phi(m)*v = 1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\"\"\"F$" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "However, recall that to be able to used " }{TEXT 313 1 "u" }{TEXT -1 41 " as an exponent in the solution process, " }{TEXT 314 2 "u " }{TEXT -1 46 "must be represented as a p ositve solution mod " }{XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "( " }{TEXT 315 1 "m" }{TEXT -1 69 ") in its congruence class. The next c ommand performs this conversion." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "u := u mod phi(m);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%\"uG\")r.TD" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 64 "Note that u can be found also by entering the following command:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 24 "u := k^(-1) mod phi(m); " }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"uG\")r.TD" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "These are the values for " }{TEXT 295 1 "m" }{TEXT -1 5 " and " } {TEXT 296 1 "b" }{TEXT -1 18 " we entered above." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "m; b;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\")4) zK%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"&tR\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "Step 3 requires us to compute " }{XPPEDIT 18 0 "b^u; " "6#)%\"bG%\"uG" }{TEXT -1 93 " to find the solution. To perform modu lar exponentiation quickly and efficiently, we use the " }{TEXT 297 2 "&^" }{TEXT -1 53 " operator. The next command will compute solution t o " }{XPPEDIT 18 0 "x^20075;" "6#*$%\"xG\"&v+#" }{TEXT -1 27 "= 13973 \+ (mod 43279809) for " }{TEXT 298 1 "x" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "x := b &^ u mod m;" }{TEXT -1 0 "" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG\")Sgm;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "The next command checks this answer to see if it is co rrect. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "x &^ k mod m = b mod m;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\"&tR\"F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 142 "It is in teresting to see if a solution can be produced using this method if th e initial assumptions are not satisfied, that is, if the gcd(" } {TEXT 300 1 "k" }{TEXT -1 1 "," }{XPPEDIT 18 0 "phi;" "6#%$phiG" } {TEXT -1 1 "(" }{TEXT 299 1 "m" }{TEXT -1 9 "))or gcd(" }{TEXT 301 1 " b" }{TEXT -1 1 "," }{TEXT 302 1 "m" }{TEXT -1 36 ") is not 1. Suppose \+ we want to solve" }}{PARA 256 "" 0 "" {XPPEDIT 18 0 "x^132234;" "6#*$% \"xG\"'MA8" }{TEXT -1 23 "= 12312 (mod 34244221)" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 39 "k := 132234; b := 12312; m := 34244221;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"kG\"'MA8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG\"&7B\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"mG \")@UCM" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "After performing step \+ 1 of the process," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "phi(m); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\")+68J" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 32 "the next commands show that gcd(" }{TEXT 304 1 "k" } {TEXT -1 1 "," }{XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" } {TEXT 303 1 "m" }{TEXT -1 12 ")) is not 1." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 25 "gcd(k, phi(m)); gcd(b,m);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 90 "The next commands demonstrate step 2 of the process. Note that u is positive when solving " }{TEXT 305 3 "ku " }{TEXT -1 2 "+ " }{XPPEDIT 18 0 "phi;" "6#%$phiG" }{TEXT -1 1 "(" }{TEXT 307 1 "m" }{TEXT -1 1 ")" }{TEXT 306 1 "v" }{TEXT -1 7 " = \+ gcd(" }{TEXT 309 1 "k" }{TEXT -1 1 "," }{XPPEDIT 18 0 "phi;" "6#%$phiG " }{TEXT -1 1 "(" }{TEXT 308 1 "m" }{TEXT -1 31 ")) and no adjustment \+ is needed." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "igcdex(k, phi (m), 'u', 'v');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "u; v;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"(.BY#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!&f/\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "k*u + phi(m)*v = 2;" }{TEXT -1 0 " " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\"\"#F$" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 39 "We next attempt to find a solution for " }{TEXT 310 1 " x" }{TEXT -1 25 " using the given process." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 18 "x := b &^ u mod m;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG\")AdYB" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 68 "However, the \+ next command shows that this is clearly not a solution." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "x &^ k mod m = b mod m;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\")g%3Y\"\"&7B\"" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 83 "Actually, the inverse of k mod phi(m) does not exist as the next command indicates." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "k^(-1) mod phi(m);" }}{PARA 8 "" 1 "" {TEXT -1 42 "Error, the mo dular inverse does not exist\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 1" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }