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