polys = [ [84992953390482604583795500675952011978577071702428258012635364136571288405874, 96602033228780898790454349292376596707082021123143682815454958031188168056268, 95549119379949235718069497025656298383944332213193756263211924917497587247308, 42629648001310869563593768483332298742752555620338711221792909917654438803780, 92576871349590955637681010449042434472292619690713901030309330216053804199070], [52950650794627165128943120976866995208463274568421497362276114206982569487078, 41147740598555431010191954922656713720396294663521965291104607328859457517139, 27309754525043280522816459864336782037767551785417292723320565077698284161720, 109503423490091273611180223036471551948178877217218516861309581348232473792814, 103804419303373836484728778872811595081666205768993445820475384372018198562207], [105503392959216596872819612278258635903501303169384706103986588525598281379458, 63263422018567109324802841318721352765470482099806231589891809492301123833598, 14321763648438359921591139203032289285469948999304804835724799855393868172733, 94166865871881977736514869883580256846797924675183571186728844917077499970684, 96680689754637003881268423360660114246288630587433037503638021865179545468542], [12440904492781536955790428929461913494025534915608518560900890989212908002309, 69450355698252816176345161121045017308556977798608458447178339300977790821813, 104765521573747728521428655561789331088510475158866077645598698213522067093687, 71605682202539778593001238775330938054057938943208626247254520057353981648022, 82089471674687227227050076274817750103916973260817736461648866106986464391955], [60780570871008739120065825760358053965077462121932063803425536017991138128175, 46248978026922742033917839259202729230558272046604980768181605904839105455126, 84103957008722448284132217278949401282221326825061600006482736367473226616134, 79874141420364038221125563625588126629851960730440516901023351332941159702018, 48958944763711807952401330976459866971495942447606261754014429592618106557440], ] s = [2480993515337677074864415082705457115834373476528991177366935757534854788568, 15217114172214776676846972468831523816974616797005038019608288595456237211468, 81112359443638130868920294602450038797966279181270674523221241432032248056639, 33220710018451968394707443841315107355190652142358903577698032127429878758373, 6220659116503873104931476313789191938300669022480896287198711646445460411578] n = 115792089237316195423570985008687907852837564279074904382605163141518161494337 A = matrix(GF(n), polys) b = matrix(GF(n), s).transpose() xs = A.solve_right(b) print(xs[0][0]) assert pow(xs[0][0], 106874969902263813231722716312951672277654786095989753245644957127312510061509, n) == xs[1][0] # 32397748964588217353341318317432783880090649436123362081161843221664749742056