{VERSION 5 0 "SUN SPARC SOLARIS" "5.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 Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 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 "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 " " 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 353 "with(StringTools): \nToNumList := proc(str::string)\n local slist;\n global Alphabet; \n slist := Explode(str);\n return(\n map(x->SearchText(x,Alphab et)-1, slist));\nend:\nNumListToStr:=proc(l::list)\n global Alphabet; \n return(\n Implode(map(x->Alphabet[x+1], l)));\nend:\n\nAlphabet: =Implode([\"\\n\",\"\\t\",op(select(IsPrintable,[seq(Char(i),i=1..255) ]))]);" }}{PARA 7 "" 1 "" {TEXT -1 58 "Warning, the assigned name Grou p now has a global binding\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)Alp habetGQ\\q|+|*~!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV WXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz|fr|gr|hr|ir6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "stuff:= [ 2, 28, 9, 14];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&stuffG7&\"\"#\"#G\"\"*\"#9" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 31 "convert(stuff, base, 29, 29^2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"$9)\"$:%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "convert(%, base, 29^2, 29);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&\"\"#\"#G\"\"*\"#9" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "Alphabet:=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ \";" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)AlphabetGQ " 0 "" {MPLTEXT 1 0 16 "ToNumList(\"AJ\");" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"!\"\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "0*6 + 2 mod 27;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "9*6 + 2 mod 27; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 211 "Affine:=proc(plain::string, a::integer, b::integer )\n local numl;\n global Alphabet;\n numl := ToNumList(plain);\n numl := map( x->modp( a*x+b, length(Alphabet)), numl);\n return( \+ NumListToStr(numl));\nend;\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'Aff ineGf*6%'%&plainG%'stringG'%\"aG%(integerG'%\"bGF,6#%%numlG6\"F1C%>8$- %*ToNumListG6#9$>F4-%$mapG6$f*6#%\"xGF16$%)operatorG%&arrowGF1-%%modpG 6$,&*&T$\"\"\"F8FIFIT&FI-%'lengthG6#%)AlphabetGF1F16&F+9%F.9&F4O-%-Num ListToStrG6#F4F1FMF1" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Aff ine(\"ADJUDICATE\", 6, 2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q+CUCOUX OCI~6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Affine(\"ADJUDIC ATE\", 7, 2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q+CXLHXEQCAD6\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "Affine(Alphabet, 6, 2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#Q " 0 "" {MPLTEXT 1 0 23 "Affine(Alphabet, 7, 2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#Q " 0 "" {MPLTEXT 1 0 28 "Affine(\"Liz Brennan\", 6, 2 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q,OXXXIXXXXXX6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "1/7 mod 27;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "4*7; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "28 mod 27;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\" " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Affine(\"ADJUDICATE\", \+ 7, 2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q+CXLHXEQCAD6\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 " Inverse of 7*x + 2 mod 27 is 1/7y \+ -2/7 mod 27. But 1/7 mod 27 = 4, so 2/7 = -8." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "Affine(%, 4, -8);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q+ADJUDICATE6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "20 0 0" 0 }{VIEWOPTS 1 1 0 3 2 1804 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }