Last active
December 20, 2020 19:41
-
-
Save travisdoesmath/b40d7af9602fd32b92146a7fa899e62e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
alphabet = ' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' | |
def poly_from_coefficients(coefs): | |
def poly(x): | |
p = 0 | |
for i, coef in enumerate(coefs): | |
p += coef * x ** i | |
return p | |
def poly_prime(x): | |
p = 0 | |
for i, coef in enumerate(coefs): | |
if i == 0: | |
p += coef | |
else: | |
p += i * coef * x ** (i - 1) | |
return p | |
return poly, poly_prime | |
def newton_raphson(f, f_prime, starting_value): | |
x = starting_value | |
error = f(x) | |
threshold = 0.001 | |
while error > threshold: | |
x -= (f(x) / f_prime(x)) | |
error = f(x) | |
return int(x) | |
coefs1 = [-34, | |
-3365, | |
-164835, | |
-5328015, | |
-127831935, | |
-2428022520, | |
-38026471560, | |
-505038543240, | |
-5805942302160, | |
-58683851289140, | |
-527964438421420, | |
-4270138610004540, | |
-31302547322979660, | |
-209405476619086440, | |
-1285840031910116760, | |
-7283481051312173400, | |
-38222441864929536060, | |
-186536283185888510490, | |
-849406949242773369910, | |
-3619542019887455513390, | |
-14471551000902861440190, | |
-54415073604805821147240, | |
-192833359080172359879960, | |
-645253764447308437151640, | |
-2042267534487049440130560, | |
-6123611560438512305641476, | |
-17419412930874214365248220, | |
-47071021079159876896246380, | |
-120971291589240381909963420, | |
-295998720314966634106282680, | |
-690249985807857203363148360, | |
-1535415376803888260878492680, | |
-3260685030761173072373170470, | |
-6615844986656043078528551355, | |
-12833855196831655949662290045, | |
-23817710581838192780530339185, | |
-42312178057901565974096681745, | |
-71991621974747397929152626480, | |
-117370014023338019301672634320, | |
-183433354011204730525108835280, | |
-274924682916056230025347394400, | |
-395288050192719872194981192680, | |
-545395011213437681410911285720, | |
-722308298378948494564083135480, | |
-918435185825571112900984576920, | |
-1121434599657985277640150821520, | |
-1315130867615588452455900516720, | |
-1481456701817773893251464304880, | |
-1603152812650857883532804914920, | |
-1666685446659565350678029979180, | |
-1664707185001809190024406204724, | |
-1597446288638099727801197873220, | |
-1472663630225788055803390561380, | |
-1304188378523339410298297635920, | |
-1109412072681306459892966357680, | |
-906364950408508649051628746160, | |
-711046595477861506762052575680, | |
-535537287188613527631945543720, | |
-387145681534927266079247907480, | |
-268554476848489073475979588920, | |
-178701043895436549516475806360, | |
-114026138979938075731824411120, | |
-69741602535606649150269246480, | |
-40869353092552560819637714320, | |
-22935573152881222677547734030, | |
-12319505473364582472688106475, | |
-6329819983957694563408097805, | |
-3109005105087806435566869345, | |
-1458727513761577427114313105, | |
-653297687322604724391064920, | |
-279037228305303975827655720, | |
-113559257479326821889831720, | |
-43989560577905593421804880, | |
-16201634546594743778952420, | |
-5666556013657876962189180, | |
-1879524340332612687870156, | |
-590342959187662728787740, | |
-175300155659095355757960, | |
-49124848130690297003640, | |
-12965692960244538997560, | |
-3215900222422858097820, | |
-747729887106549310810, | |
-162521907255837503990, | |
-32918167621039148910, | |
-6190958893615347390, | |
-1076688503237451720, | |
-172329076441562040, | |
-25242425874287160, | |
-3361347363541440, | |
-403644943234260, | |
-43275773641100, | |
-4089798388060, | |
-334958209740, | |
-23210963160, | |
-1311257640, | |
-56465640, | |
-1568490, | |
-8085, | |
1485, | |
65, | |
1] | |
coefs2 = [-5, | |
-494, | |
-24156, | |
-779394, | |
-18665031, | |
-353851344, | |
-5531123136, | |
-73314628464, | |
-841117282236, | |
-8483953865464, | |
-76165361608336, | |
-614673352153224, | |
-4495802098736676, | |
-30006489349152624, | |
-183817681537666176, | |
-1038687732534953424, | |
-5437276941349131186, | |
-26467536794290063164, | |
-120204882347713776536, | |
-510838471545359352164, | |
-2036736807534476795286, | |
-7636486877372374149744, | |
-26982006137453775070656, | |
-90012278508641870616144, | |
-284002829014605312768156, | |
-848817444021179923554264, | |
-2406537368763345277769232, | |
-6480653818637897511580968, | |
-16596061490755292063680932, | |
-40459363866951414137797968, | |
-93991487429155023436684032, | |
-208259364283551150719588208, | |
-440478504155456713285498467, | |
-889971129608073500986914258, | |
-1718923591973832652081465092, | |
-3175694744245092370737378558, | |
-5615261013291609690020307297, | |
-9507682142033148040049610528, | |
-15422533243646348429978239872, | |
-23977037919892117110407346528, | |
-35740208779087309903295161272, | |
-51095758141959718848613345008, | |
-70081846000483183932593781792, | |
-92242009608287881627708769808, | |
-116532636481093969163780838792, | |
-141331483792513213072457363808, | |
-164575035947425594050347327232, | |
-184021402277079606113287303968, | |
-197597904815105739133113163932, | |
-203760950748884547323248768968, | |
-201782689091128386669624994512, | |
-191891380802347583401506122232, | |
-175228330685093768665213560468, | |
-153632546855176551892744446432, | |
-129308956815834395325272899968, | |
-104462401064031505314425008032, | |
-80980306707200893825678210008, | |
-60224121975659030153628039792, | |
-42953389484167112732880059808, | |
-29370002711520153353927355792, | |
-19244727804123936101774317608, | |
-12078658200246404860130016672, | |
-7257662702892399261166230528, | |
-4172436047942604535561339872, | |
-2293557315288122267754773403, | |
-1204573868506759175107281522, | |
-603946126909724985866460708, | |
-288798578482090076479197342, | |
-131571501241240316955408633, | |
-57039188943902544464600592, | |
-23497871857288755859171008, | |
-9184027380841732043549232, | |
-3399193317383614037139468, | |
-1188758984483874691473432, | |
-391761897240544580101968, | |
-121259634860168560507752, | |
-35101473248996162252244, | |
-9448802716376770948656, | |
-2346261403256850006144, | |
-530878766876154352656, | |
-107196674080761936594, | |
-18527820211489717436, | |
-2453160864239056664, | |
-133002697458744036, | |
53834425161872586, | |
25333847134998864, | |
7069910828371776, | |
1564319349955824, | |
294117894309876, | |
48154133578824, | |
6924123782576, | |
875026631864, | |
96765705036, | |
9284385264, | |
762913536, | |
52701264, | |
2980131, | |
132594, | |
4356, | |
94, | |
1] | |
coefs3 = [-12, | |
-1187, | |
-58113, | |
-1877337, | |
-45015663, | |
-854513352, | |
-13374827928, | |
-177523849272, | |
-2039523321528, | |
-20601170484972, | |
-185220311183908, | |
-1497027035082852, | |
-10966395773553948, | |
-73309693172929752, | |
-449823076455154248, | |
-2546051637067385832, | |
-13350937440144401328, | |
-65104820406055205622, | |
-296219174356866092178, | |
-1261215190110692908322, | |
-5038243681795811019918, | |
-18927869880545964804312, | |
-67015091330523778300488, | |
-224036085459354490124712, | |
-708411551025195274545288, | |
-2122043610052949808885660, | |
-6030334918238382643712436, | |
-16278328674625961500982964, | |
-41790082549010313750714636, | |
-102141277492334398268121864, | |
-237915952555048653074106456, | |
-528607367305701487654496184, | |
-1121218010577526179272177916, | |
-2272078612343790295565930109, | |
-4401838117284341723911319391, | |
-8158250291250323504135679399, | |
-14473137541300909482728397681, | |
-24590012446481415254660683344, | |
-40030545845640889674869990256, | |
-62466493528139989313955981744, | |
-93474392191459118208618114096, | |
-134176656223177686897736618584, | |
-184812610017403235048049731016, | |
-244326975863274926129592237384, | |
-310095320805622934893450706616, | |
-377908097966937504519831646704, | |
-442295409108706284010308441936, | |
-497195440097247192663881752464, | |
-536869779120287291229590483136, | |
-556880656658359223995092509364, | |
-554902395000603063341468734908, | |
-531163255107529135497983441436, | |
-488402368505261355215808008964, | |
-431352920016457241852705561136, | |
-365885570990258686772647182864, | |
-298025085388560471044094875856, | |
-233065272962187938327561677584, | |
-174954885992579081269083989016, | |
-126034287565385080782003333384, | |
-87104186123891961659250308616, | |
-57734183412371808305322952824, | |
-36686670802240946105021767056, | |
-22339993007340666475777303344, | |
-13030312575951904328269430256, | |
-7276112862293353401153074244, | |
-3887488393817268246937135821, | |
-1986053609645441780445476559, | |
-969538084904159542465876791, | |
-451919504263390653890316609, | |
-200963654069796174102023016, | |
-85179785482671739989494904, | |
-34378048439096753730582936, | |
-13196868173371678026541464, | |
-4812556533958912057416636, | |
-1664988063272314465433364, | |
-545668356870758522284884, | |
-169125280199708781760812, | |
-49481887909446774178488, | |
-13637644406430440660712, | |
-3532385641137488577288, | |
-857573392646095492752, | |
-194542112220642033078, | |
-41090444476004199122, | |
-8046663196254014178, | |
-1453529479370559822, | |
-240671547782489208, | |
-36233292995405352, | |
-4906274324861448, | |
-588235788619752, | |
-60900815996748, | |
-5193092836932, | |
-323379407428, | |
-7443515772, | |
1440680472, | |
262251528, | |
26350632, | |
1882188, | |
98637, | |
3663, | |
87, | |
1] | |
coefs4 = [-16, | |
-1583, | |
-77517, | |
-2504733, | |
-60073167, | |
-1140605928, | |
-17856944952, | |
-237071975448, | |
-2724326772552, | |
-27525294267548, | |
-247537425227092, | |
-2001229139614068, | |
-14663877873449532, | |
-98054381072230968, | |
-601826159265147432, | |
-3407402439657347208, | |
-17873029153741698552, | |
-87183268184206715598, | |
-396798769790667415402, | |
-1690001886433740654698, | |
-6753390467088002005422, | |
-25380088739502302321208, | |
-89891140012278065860392, | |
-300621118002618844129608, | |
-950930820745532395560792, | |
-2849601419213961171932172, | |
-8101076375081261138537124, | |
-21877000020904855209212676, | |
-56186666010870326143305324, | |
-137388085278267532056878376, | |
-320158504055559298581204984, | |
-711663369032644537331586456, | |
-1510212014247280159835994744, | |
-3061854316764199892468224881, | |
-5934932131747489764956950419, | |
-11005424889539027008934708451, | |
-19534781271591937935704449329, | |
-33208486906166139377295582096, | |
-54092267332494913243379561904, | |
-84460468161424487715983773296, | |
-126465354141385865811659801424, | |
-181651455126730811497235632056, | |
-250373046598500407114024559144, | |
-331232670866124665844954218856, | |
-420702568991068058167547773944, | |
-513094734638037099632616951216, | |
-600992765200866678273143364624, | |
-676152033137342956407078580176, | |
-730739421580391035284720379824, | |
-758663345749487610664717503876, | |
-756685084091731450011093729420, | |
-725032897567632879553113338124, | |
-667358961545357118959004836676, | |
-590050276108617636115540483824, | |
-501072207661358281885432487376, | |
-408632333574005594318191943184, | |
-319970967965037678042923659056, | |
-240515322573676253335058817144, | |
-173509086468938205381502346856, | |
-120095148073818709262291995944, | |
-79728158045656306707350744376, | |
-50748392289094969673531338704, | |
-30958467467025390598412202096, | |
-18091956306242932781245481904, | |
-10123287460582056905952103296, | |
-5420582408280416287982766849, | |
-2775829314065851377347771331, | |
-1358532088573913523029693619, | |
-634975505990333703567406881, | |
-283206205570306819609121544, | |
-120426593268604873778251416, | |
-48774631900956766123173624, | |
-18795539519650571734771176, | |
-6883297990801790552241324, | |
-2392545872433325828479876, | |
-788187626591095643300388, | |
-245710312742973135765708, | |
-72357936591201061738392, | |
-20089863265386778177608, | |
-5247532426429679562792, | |
-1286360088969143239128, | |
-295121707654443356302, | |
-63168892254155709098, | |
-12568754909851311402, | |
-2314880281960521198, | |
-392674630592482392, | |
-60977980894706568, | |
-8603756424757032, | |
-1092437893150968, | |
-123217930039932, | |
-12117216619508, | |
-1008182858452, | |
-66991641948, | |
-3041436552, | |
-23841048, | |
11293128, | |
1254792, | |
79233, | |
3267, | |
83, | |
1] | |
coefs5 = [-47, | |
-4652, | |
-227898, | |
-7367052, | |
-176768823, | |
-3357823392, | |
-52593351888, | |
-698569953312, | |
-8031553517988, | |
-81187253582512, | |
-730495059061768, | |
-5908795449730992, | |
-43319364147640308, | |
-289825712291815392, | |
-1779850051042594608, | |
-10082871159729547872, | |
-52919239934120752038, | |
-258291238464880917912, | |
-1176290634402627670388, | |
-5013098782937360689112, | |
-20045778053102482143078, | |
-75384784896413918077152, | |
-267180517295873794449648, | |
-894155120212917587667552, | |
-2830455161078145083430948, | |
-8488174440211799235542640, | |
-24149322665613569473428456, | |
-65266702954566281447992944, | |
-167760187840285422185883156, | |
-410550845619249318919741344, | |
-957538278184516801261218576, | |
-2130347382416453172329036064, | |
-4524915542687873509205575161, | |
-9182616026022374268461009364, | |
-17816410743836887083060590886, | |
-33071028026276479171127183604, | |
-58762520181347408446268849601, | |
-100001663968722751327716047424, | |
-163070608855613595899328742176, | |
-254913771569379350331699157824, | |
-382145309253318159735232878216, | |
-549581146629267527143352986464, | |
-758466430102003490625329477136, | |
-1004751807138210148639009575264, | |
-1277908742428267763541800045736, | |
-1560791168839058961756703061184, | |
-1830897274915109733810114015456, | |
-2063065629198085125416853994944, | |
-2233229150646195051711977079156, | |
-2322479186205732607354311211344, | |
-2320500924547976446700687436888, | |
-2227522626633436895980370037456, | |
-2054272557606099287968780251444, | |
-1819954785822860691652511134656, | |
-1548768641862380144009518597344, | |
-1265838507011205299692444214976, | |
-993490104237123160836979015464, | |
-748608706077179336846363735136, | |
-541438777971474921027619701264, | |
-375775103185751003185865072736, | |
-250181461453611169323066128904, | |
-159726733812213652329480518976, | |
-97751644529582002548832667424, | |
-57319695215998403291809882176, | |
-32188890597319509068144578449, | |
-17302061020369813606086407316, | |
-8896591023324025753340555814, | |
-4373235617014506872399274036, | |
-2053659519374142338564856489, | |
-920585979699264322289135136, | |
-393589353609586660641114384, | |
-160348153730371862165751456, | |
-62185242453311997973551444, | |
-22931544281334098887132656, | |
-8031118893431163892090344, | |
-2667711966923708331170544, | |
-839244314953271879303652, | |
-249647313874796790327648, | |
-70094559422298393933552, | |
-18539920012444159700448, | |
-4609456985472763273542, | |
-1074613572266403611288, | |
-234276862534829911412, | |
-47614965690230364888, | |
-8990349002032721862, | |
-1570698522369929568, | |
-252749312114290992, | |
-37259242698947808, | |
-5000004203267892, | |
-606175563874608, | |
-65779175934472, | |
-6315409603888, | |
-528489619812, | |
-37777843488, | |
-2241058512, | |
-105402528, | |
-3607527, | |
-71148, | |
198, | |
52, | |
1] | |
for coefs in [(coefs1, 0), | |
(coefs2,0), | |
(coefs3,0), | |
(coefs3,0), | |
(coefs4,-1), | |
(coefs2,-5), | |
(coefs5,2), | |
(coefs4,-1), | |
(coefs4,2), | |
(coefs3,0), | |
(coefs2,-1)]: | |
poly1, poly_prime1 = poly_from_coefficients(coefs[0]) | |
char1 = alphabet[newton_raphson(poly1, poly_prime1, 50) + coefs[1]] | |
print(char1, end='') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment