Gabe Vandevere Attachments Sep 6, 2026, 11:27 PM (18 hours ago) to me Hi Professor Zeilberger, I came across the challenges on your June 30 DIMACS REU page, and the World Cup one caught my eye: the polynomial counting the ways n teams can play a round robin so that every team ends with exactly r goals for and r goals against (your zero-diagonal magic squares with line sums r), which your GOALS package had taken up to n = 6. I had a go at n = 7 and n = 8 and thought you might like to see the results, whether or not the pledge still stands. HOW. Inclusion-exclusion on the diagonal turns S_n(r) into contingency-table counts with margins ((r-1)^k, r^(n-k)); by RSK those are sum_lambda K_{lambda,mu}^2, and the Kostka numbers come out of a Pieri horizontal-strip dynamic program (C code modulo five 62-bit primes with CRT, and separately in exact big-integer Python). Your reciprocity S_n(-(n-1)-r) = -S_n(r) halves the number of values needed, and the polynomials were then recovered by exact rational interpolation. As a control, the same pipeline reproduces your S_4, S_5 and S_6 exactly. CHECKS. S_7: the degree-29 fit used 30 points and reproduces seven further computed values (r = 10..16) that were not used in it; a third, structurally different brute-force program agrees for r <= 7. S_8: the degree-41 fit used S_8(0..17); the independently computed S_8(18) agrees with the polynomial modulo two 62-bit primes; brute force agrees for r <= 5. Both polynomials vanish at r = -1..-(n-2), are integer-valued, and have nonnegative, palindromic h*-vectors (degrees 24 and 35, as the magic-labeling picture predicts), with S_7(1) = 1854 and S_8(1) = 14833, the derangement numbers. RESULTS. In factored form, S_7(r) = (r+1)(r+2)(r+3)(r+4)(r+5) * Q_7(r) / 63155442812426442532454400000, Q_7 of degree 24, S_8(r) = (r+1)(r+2)(r+3)(r+4)(r+5)(r+6)(2r+7) * Q_8(r) / 1045391456661368972130314439170023489536000000000, Q_8 of degree 34. Everything needed to verify is below and in the attached zip: the full polynomials (Maple input), the value tables for r = 0..30, the h*-vectors, the exact big-integer Python program that recomputes S_n(r) from scratch (kostka_proto.py; it is independent of the interpolation), a brute-force checker that uses neither Kostka numbers nor inclusion-exclusion (verify_independent.py), and the C solver (wc2.c). I'd be glad to submit the two sequences to the OEIS if you think they belong there. I should say that I did this with a lot of help from Claude (Anthropic's AI); every value was cross-checked by at least two independent implementations as described above, but I'd of course welcome any scrutiny. Best regards, Gabe Vandevere gvandevere04@gmail.com ==================== APPENDIX ==================== 1. Polynomials (Maple input) S7 := 1/63155442812426442532454400000*(63155442812426442532454400000*r^0+461195267005213978136739840000*r^1+1742264767318435377115521024000*r^2+4498228102778460680864816332800*r^3+8806392015845892502150388920320*r^4+13763497505516669075702200178688*r^5+17694686843961311728317899414016*r^6+19079051102713625420046412264320*r^7+17485983966401273617340692621248*r^8+13753843865190767461415254979744*r^9+9350045007972142084799218807920*r^10+5521829242376807567533558718200*r^11+2843178768306416724335295105780*r^12+1279403517909179892583459491750*r^13+503785921190274985362443648235*r^14+173631140790277303262396922375*r^15+52338572539387227392395401675*r^16+13773451443978347487553354575*r^17+3155053776073130845131378615*r^18+626413120424777502318431475*r^19+107169464172716942453472015*r^20+15676654875600714005025015*r^21+1940509781884555532722305*r^22+200472086013654831568725*r^23+16962425589350092789665*r^24+1144737793167218738397*r^25+59245492129354404909*r^26+2207709486688762105*r^27+52724416354689297*r^28+606027774191831*r^29); S8 := 1/1045391456661368972130314439170023489536000000000*(1045391456661368972130314439170023489536000000000*r^0+9254965581483832103074927190450148716052480000000*r^1+43076614920759482665182342139210842752679936000000*r^2+138904897007976249189070065515522965016621875200000*r^3+344241661049010148006875074903391314038782689280000*r^4+690759651813136540526439705624881699275152556032000*r^5+1157538001104229872558433089250235520367729960550400*r^6+1653351304534496524010839652975309743177856023265280*r^7+2042334982212921798236245068927271854246081823997952*r^8+2205617023494086548069624373479209544562228081098752*r^9+2099940786979276050102851272221060352100694151818240*r^10+1774285684325215629747848905137178552757687630730240*r^11+1337439561621766762630723727908744812718531510420224*r^12+903257664799521296350242635790920059028529136131584*r^13+548448047202665267017726733350126720753678147201920*r^14+300229863285959024265129447665806079573720274820480*r^15+148500466630294542826824870918920767645971234458976*r^16+66481748544408455797923706314229978794228608633856*r^17+26972996112549528466197474260806784553275394948540*r^18+9926152090722419345508478410999346696369456870900*r^19+3314830079165937207630290707820347720764407713503*r^20+1004637195628226241498365474508797987095050956738*r^21+276248244463065341564362816411838463959691568350*r^22+68871310276480929111019611572189511329154097800*r^23+15550883750756068933138465185811717297624352115*r^24+3175328917546463581528342115453413877839300890*r^25+585151817825862063696368000838358576345842000*r^26+97070553486274430140003140056664322387476120*r^27+14449940629743589668528473532682503890513838*r^28+1922665658688442259604349898890637363228388*r^29+227569171789592361199355143078048770455460*r^30+23819403028900916196859952150934973005760*r^31+2188713023745634413150945391090733978766*r^32+174958921024555480803609612714063753956*r^33+12027351834259766219172358267946204580*r^34+700525649584853564748338833943857620*r^35+33892084980935411808295700369325939*r^36+1325246803595731969358313673017434*r^37+40235924243473928970846655410510*r^38+889877970829386300586280675800*r^39+12752342036850439726715958687*r^40+88866495030316653147846402*r^41); 2. Factored forms (sympy) S7 = (r + 1)*(r + 2)*(r + 3)*(r + 4)*(r + 5)*(606027774191831*r**24 + 43633999741811832*r**23 + 1501687129755278990*r**22 + 32874938955778052364*r**21 + 513986601249313014893*r**20 + 6108348715912165880892*r**19 + 57344434550208711444440*r**18 + 436298701768341513002424*r**17 + 2738741629810608381646193*r**16 + 14365086361141977035422512*r**15 + 63531201663202647080138390*r**14 + 238409367290085585111998844*r**13 + 762243311217586197960195803*r**12 + 2080923618715389381938113692*r**11 + 4853137796727816512300213540*r**10 + 9657690787524977701852435584*r**9 + 16349837815049324119545715088*r**8 + 23429211003168008210837660352*r**7 + 28203845307706461089977871040*r**6 + 28207073311984671846970742784*r**5 + 23059982816634210646283016192*r**4 + 15033445725156461293908510720*r**3 + 7500447534088106180855193600*r**2 + 2641586160418113341841408000*r + 526295356770220354437120000)/63155442812426442532454400000 S8 = (r + 1)*(r + 2)*(r + 3)*(r + 4)*(r + 5)*(r + 6)*(2*r + 7)*(44433247515158326573923201*r**34 + 5287556454303840862296860919*r**33 + 304352190276732205013247329936*r**32 + 11287501880035845163259636670104*r**31 + 303136640007848037754091287800724*r**30 + 6281615847200645842452291787087996*r**29 + 104506970700936089288120342690079024*r**28 + 1434125593378281964735752846418226736*r**27 + 16550630148786869902265157099842842350*r**26 + 162965574650488018472643942774876819810*r**25 + 1384261860585349024021611170671842695040*r**24 + 10230505549942596439869265343993879872560*r**23 + 66227871606822937018836959328946893132180*r**22 + 377509627429286040763682232998079565207020*r**21 + 1902522009592256626838242421873194864328880*r**20 + 8503429133960062925660775934891497510958320*r**19 + 33783659597571997925265358269067684553438265*r**18 + 119489883138283631330913492729008959223964735*r**17 + 376561694154169274175165971063240347694037840*r**16 + 1057573561110550784323798483460980810940180760*r**15 + 2645868354560112710470141525286787134103930544*r**14 + 5890364901314215616434196569312828724275006336*r**13 + 11648455759207642225280537378644760436132958784*r**12 + 20410580625954630898507601793553632064714798976*r**11 + 31581828114121847572027275560196914792481616896*r**10 + 42963692575793491055699069297023451762307811584*r**9 + 51095306200273832243526230230045030834761194496*r**8 + 52733636013238138690300381392249184597224812544*r**7 + 46779242474804144542914371645521702966065315840*r**6 + 35212679260623607650568201848450766219385241600*r**5 + 22094267774569263791858826966989168447717376000*r**4 + 11256323796792032654749486833436725128724480000*r**3 + 4462660550449386424366765768062282498048000000*r**2 + 1268863737962630637903315442830076280832000000*r + 207418939813763684946490960152782438400000000)/1045391456661368972130314439170023489536000000000 3. Values S_7(r), r = 0..30 1, 1854, 1254330, 269680320, 25099425960, 1261570701636, 39660539404661, 862295098189344, 13926292882237119, 176080027218850650, 1813557723086696790, 15691346140563786336, 116857054129381000771, 763843960352898954144, 4452841840686426708039, 23457445322546995614560, 112908139356988128782580, 501207815538678659057430, 2068276091435265184937191, 7988448733504460242920864, 29050047659531387702642625, 99976784804593134782200620, 327100603556746117158792150, 1021464570114729174547518720, 3055330405308562350466598500, 8781143873127981176632422066, 24317720454793140100636769649, 65053350616314619084498965440, 168492075800447914297439656770, 423395111280178070624285498880, 1034140486648110157323019874386 4. Values S_8(r), r = 0..30 1, 14833, 74534040, 89541102840, 37360245386450, 7100809516095386, 737450293097125216, 47456988199346385856, 2070971728880776062075, 65518867753672005263955, 1581120908447816465382016, 30281644777182674888620776, 474987020274782122885438108, 6259175394577314969653602604, 70751934579186769795175065560, 698005876924529916783791501184, 6097970475982733103555487207989, 47759696229681985825897099303069, 338888959723025305507731824760656, 2198421247224315555164165804720800, 13141349393865022055033401426881198, 72883689285145856773926389040517078, 377316465123730197843503622627673768, 1833091628344659420658100327833763448, 8396990959206170966782774924993609575, 36421682408384867669791442163229274503, 150154183895547897514570051671045780160, 590384106841621204640999990710248093344, 2220681350192589176849785433501517303144, 8013105397629184381940038250243987835560, 27808437974067890567281689023158192649056 5. h*-vectors (numerators of sum_r S_n(r) t^r = h*(t)/(1-t)^(d+1), d = n^2-3n+1) n = 7 (degree 24): 1, 1824, 1199145, 232852850, 17547150075, 620856948600, 11670877850282, 126571440305244, 837957254969529, 3521931467666680, 9653611080929469, 17561784201419010, 21415558464270922, 17561784201419010, 9653611080929469, 3521931467666680, 837957254969529, 126571440305244, 11670877850282, 620856948600, 17547150075, 232852850, 1199145, 1824, 1 n = 8 (degree 35): 1, 14791, 73911915, 86423432893, 33663522704700, 5607920108037548, 470363862820633796, 22178936275290716020, 635311586724884333600, 11696072763886027494936, 144324853681984312695456, 1232343579493807093596080, 7461472646262160852106452, 32641767291337628986522156, 104663610700900943945359492, 248613707850056575120870412, 440814898189449029216178530, 586279441334591901686933654, 586279441334591901686933654, 440814898189449029216178530, 248613707850056575120870412, 104663610700900943945359492, 32641767291337628986522156, 7461472646262160852106452, 1232343579493807093596080, 144324853681984312695456, 11696072763886027494936, 635311586724884333600, 22178936275290716020, 470363862820633796, 5607920108037548, 33663522704700, 86423432893, 73911915, 14791, 1 6. Quick independent check (Python 3, exact integers; recomputes S_n(r) with no interpolation): # Prototype: N(n,r) = #{n x n nonneg integer matrices, zero diagonal, all line sums r} # via inclusion-exclusion over diagonal: N = sum_k (-1)^k C(n,k) T(mu_k), mu_k = ((r-1)^k, r^(n-k)), # and T(mu) = sum_lambda K_{lambda,mu}^2 (RSK), K via Pieri horizontal-strip DP. import sys from math import comb from collections import defaultdict sys.setrecursionlimit(10000) def add_strip(vec, s, n): """vec: dict partition(tuple len n, weakly decreasing) -> count. Return dict after adding horizontal strip of size s.""" out = defaultdict(int) for lam, c in vec.items(): # enumerate mu with mu_i in [lam_i, lam_{i-1}] (mu_1 >= lam_1 unbounded), sum(mu-lam)=s mu = list(lam) def rec(i, rem): if i == 0: mu[0] = lam[0] + rem out[tuple(mu)] += c return hi = lam[i-1] - lam[i] for d in range(min(hi, rem) + 1): mu[i] = lam[i] + d rec(i-1, rem - d) rec(n-1, s) return out def T(mu): n = len(mu) vec = {tuple([0]*n): 1} for part in mu: vec = add_strip(vec, part, n) return sum(c*c for c in vec.values()) def N(n, r): tot = 0 for k in range(n+1): mu = [r-1]*k + [r]*(n-k) if r-1 < 0 and k > 0: continue tot += (-1)**k * comb(n,k) * T(mu) return tot # e.g. N(7, 3) -> 269680320 ; N(8, 4) -> 37360245386450 ; then compare with S7, S8 above.