arXiv is now an independent nonprofit! Learn more
License: CC BY 4.0
arXiv:2608.26603v1 [math.CO] 27 Aug 2026

Five improved lower bounds for Zarankiewicz numbers z⁡(m,n,3,3)z(m,n;3,3)

Abhishek Saurabh Address: Independent researcher Email address: saurabh.abhishek1985@gmail.com
Date: August 27, 2026
Abstract.

We record five improved lower bounds for Zarankiewicz numbers with s=t=3s=t=3:

z⁡(13,19,3,3)≥118,z⁡(14,19,3,3)≥126,z⁡(16,18,3,3)≥136,z(13,19;3,3)\geq 118,\quad z(14,19;3,3)\geq 126,\quad z(16,18;3,3)\geq 136,
z⁡(14,20,3,3)≥126,z⁡(16,19,3,3)≥136.z(14,20;3,3)\geq 126,\quad z(16,19;3,3)\geq 136.

The first three are certified by explicit K3,3K_{3,3}-free 0/10/1 matrices; the last two follow from the second and third by monotone padding. Compared with the lower bounds compiled in Figure 2 of [2], namely 114114, 121121, 130130, 125125 and 132132, the improvements are +4+4, +5+5, +6+6, +1+1 and +4+4 respectively. The three matrices were produced by a kicked-greedy local search operated autonomously by a discovery system and were verified exactly, by exhaustive inspection of every 3×33\times 3 row/column triple, in several mutually independent implementations; they were also re-verified independently by the authors of [2] using their own verifier in July 2026. All three witnesses are printed in full in Appendix A and accompany this note as machine-readable ancillary files together with standalone, dependency-free verifiers.

Key words and phrases: 
Zarankiewicz problem, Zarankiewicz numbers, K3,3K_{3,3}-free bipartite graphs, extremal combinatorics, computer search
2020 Mathematics Subject Classification
05C35, 05D05, 05B20

1. Introduction

For positive integers m,n,s,tm,n,s,t, the Zarankiewicz number z⁡(m,n,s,t)z(m,n;s,t) is the maximum number of 11s in an m×nm\times n matrix with entries in {0,1}\{0,1\} that contains no all-ones s×ts\times t submatrix, i.e. no ss rows and tt columns whose s​tst common entries are all 11. Equivalently, it is the maximum number of edges in a bipartite graph with parts of sizes mm and nn containing no Ks,tK_{s,t} with the ss-side inside the part of size mm. Throughout this note s=t=3s=t=3, so the convention is symmetric and no ambiguity arises; we abbreviate z⁡(m,n)=z⁡(m,n,3,3)z(m,n)=z(m,n;3,3) where convenient. Determining z⁡(m,n,s,t)z(m,n;s,t) is the Zarankiewicz problem, posed by Zarankiewicz [8]; the classical general upper bound is due to Kővári, Sós and Turán [6].

For s=t=3s=t=3 the exact values are known only in a limited range, and the current state of knowledge is a table of lower and upper bounds. The lower bounds are, with few exceptions, produced by computer search over 0/10/1 matrices; the upper bounds come from counting arguments, integer/linear programming relaxations, and exhaustive or SAT-based reasoning. The bounds relevant here are drawn from the following sources.

  • •

    Collins, Riasanovsky, Wallace and Radziszowski [3] give, in their Table 4, upper bounds that remain the tightest published values in several cells of interest. In particular z⁡(16,18,3,3)≤140z(16,18;3,3)\leq 140, which is tighter than the value 146146 appearing for that cell in the compilation of Figure 2 of [2].

  • •

    Tan [7] applies SAT solving to Zarankiewicz numbers.

  • •

    Davies, Gill and Horsley [4] obtain upper bounds by linear programming.

  • •

    Bhan, Nobili and Langer [2] obtain lower bounds by an LLM-driven evolutionary search. Their Figure 2 is a per-cell grid giving, for each (m,n)(m,n) in the range considered, a known upper bound together with the lower bound achieved by their own construction. These are the lower bounds that the present note improves, and all “previous best” values quoted below refer to that figure.

Two further papers appeared in August 2026, after the constructions reported here were found and communicated: Hou [5] and Afrasyab [1] close or improve a number of cells. Neither paper addresses any of the five cells treated here: Hou’s results concern (12,18)(12,18), (13,17)(13,17), (13,18)(13,18), (14,17)(14,17), (14,18)(14,18), (15,17)(15,17) and (15,18)(15,18), and Afrasyab’s concern (12,n)(12,n) for 18≤n≤2218\leq n\leq 22 together with (13,22)(13,22), (13,18)(13,18), (14,17)(14,17), (14,18)(14,18), (15,17)(15,17), (15,18)(15,18) and (16,17)(16,17). We comment on the overlap at (13,17)(13,17) in Remark 4; none of the five bounds claimed here is affected by those papers.

The contribution of this note is deliberately narrow: five improved lower bounds, each backed by an explicit witness that a reader can verify in under a second on a laptop. We make no claim of novelty for the search method, which is a standard kicked-greedy local search, and no claim about upper bounds.

2. The bounds

Theorem 1.

There exist K3,3K_{3,3}-free 0/10/1 matrices realising

z⁡(13,19,3,3)≥ 118,z⁡(14,19,3,3)≥ 126,z⁡(16,18,3,3)≥ 136.z(13,19;3,3)\ \geq\ 118,\qquad z(14,19;3,3)\ \geq\ 126,\qquad z(16,18;3,3)\ \geq\ 136.
Proof.

The three matrices A13×19A_{13\times 19}, A14×19A_{14\times 19} and A16×18A_{16\times 18} are displayed in Appendix A. Each is checked to have entries in {0,1}\{0,1\}, to have the stated number of 11s, and to contain no all-ones 3×33\times 3 submatrix; the last is decided by inspecting every one of the (m3)​(n3)\binom{m}{3}\binom{n}{3} triples of rows and triples of columns, which is 277,134277{,}134, 352,716352{,}716 and 456,960456{,}960 checks respectively. Appendix B gives the recipe. ∎

The remaining two bounds are corollaries of Theorem 1 and the following elementary monotonicity, which we state and prove only because we rely on it explicitly.

Lemma 2 (Monotone padding).

For all positive integers m,n,s,tm,n,s,t,

z⁡(m,n,s,t)≤z⁡(m,n+1,s,t)andz⁡(m,n,s,t)≤z⁡(m+1,n,s,t).z(m,n;s,t)\ \leq\ z(m,n+1;s,t)\qquad\text{and}\qquad z(m,n;s,t)\ \leq\ z(m+1,n;s,t).
Proof.

Let AA be an m×nm\times n 0/10/1 matrix with no all-ones s×ts\times t submatrix and with z⁡(m,n,s,t)z(m,n;s,t) ones. Form A′A^{\prime} by appending one all-zero column, so A′A^{\prime} is m×(n+1)m\times(n+1) and has the same number of 11s. Let SS be a set of ss rows and TT a set of tt columns of A′A^{\prime}. If TT avoids the new column then the corresponding submatrix of A′A^{\prime} is a submatrix of AA and hence is not all-ones; if TT contains the new column then that column contributes an entry 00, so the submatrix is again not all-ones. Thus A′A^{\prime} is a valid m×(n+1)m\times(n+1) configuration, giving z⁡(m,n+1,s,t)≥z⁡(m,n,s,t)z(m,n+1;s,t)\geq z(m,n;s,t). Appending an all-zero row gives the second inequality. ∎

Corollary 3.

z⁡(14,20,3,3)≥z⁡(14,19,3,3)≥ 126z(14,20;3,3)\ \geq\ z(14,19;3,3)\ \geq\ 126 and z⁡(16,19,3,3)≥z⁡(16,18,3,3)≥ 136z(16,19;3,3)\ \geq\ z(16,18;3,3)\ \geq\ 136.

Proof.

Immediate from Theorem 1 and Lemma 2. Explicitly, the witnesses are A14×19A_{14\times 19} with one all-zero column appended, and A16×18A_{16\times 18} with one all-zero column appended; both padded matrices are supplied as ancillary files with their own verifiers. ∎

We stress that Corollary 3 is bookkeeping, not search: it costs no computation, and it improves the compiled lower bounds for those two cells only because the compilation predates Theorem 1, so the padding implied by the new bounds had not yet been applied to them.

3. Method

The three matrices of Theorem 1 were found by a kicked-greedy local search over 0/10/1 matrices of fixed shape: a greedy fill that adds a 11 only where it creates no all-ones 3×33\times 3 submatrix, run to saturation, followed by a randomised “kick” that deletes a small random set of 11s and re-saturates, with the incumbent retained on non-improvement. The search is classical: no language model, no learned component, and no problem-specific algebraic input. The objective is the exact count of 11s, and K3,3K_{3,3}-freeness is enforced as a hard constraint at every step rather than penalised, so every intermediate state — and in particular every state that is ever recorded — is a valid witness.

The search ran inside an autonomous research system (NOVA) that selected the target cells, ran the searches, and packaged the results; the mathematical content of the search itself is standard. The system’s cell-selection rule is the reason two of the three cells were attacked at all: it targets cells whose compiled lower bound is dominated by the monotone floor implied by a smaller cell (Lemma 2), on the grounds that such cells are the ones where the incumbent construction has most visibly not converged.

Provenance of the individual runs, as recorded at the time:

  • •

    A13×19A_{13\times 19}: found 2026-07-05, seed 22, 215,624215{,}624 kicks, wall-clock budget 600600 seconds for the cell.

  • •

    A16×18A_{16\times 18}: found 2026-07-05, seed 00, 130,287130{,}287 kicks, same budget.

  • •

    A14×19A_{14\times 19}: found during a campaign of 2026-07-03/04, seed 77; that build of the system did not record a kick count.

We note that a wall-clock-budgeted stochastic search is not bit-reproducible from a seed alone, so we do not claim that re-running the search reproduces these matrices. Nothing in this note depends on that: the claims are statements about three explicit matrices, and those matrices are verifiable exactly and cheaply.

Verification. Each matrix was verified by exhaustive enumeration of all (m3)​(n3)\binom{m}{3}\binom{n}{3} row-triple/column-triple pairs, with the count of 11s recomputed from the matrix rather than read from any label. Verification was performed by several implementations that share no code: an array-based checker, a column-pair/column-triple set-arithmetic checker, and a plain triple-nested loop in the Python standard library, all agreeing. In July 2026 the three matrices, together with a fourth (13×1713\times 17; see Remark 4), were communicated to the authors of [2], who ran their own verifier on all four and reported no errors, and who subsequently confirmed in correspondence that the bounds improve on those compiled in their Figure 2.

4. Summary of the five cells

Table 1 collects the five cells. “Previous LB” is the lower bound compiled in Figure 2 of [2]. “Best known UB” is the smallest published upper bound we are aware of, with its source given per cell: for four of the five cells this is the value appearing in the compilation of Figure 2 of [2]; for (16,18)(16,18) it is the tighter value from Table 4 of [3]. “Gap” is the difference between that upper bound and our lower bound.

Table 1. The five cells. All values for s=t=3s=t=3.
Cell (m,n)(m,n) Previous LB New LB Best known UB Gap Source of the UB
(13,19)(13,19) 114114 𝟏𝟏𝟖\mathbf{118} 125125 77 Fig. 2 of [2]
(14,19)(14,19) 121121 𝟏𝟐𝟔\mathbf{126} 135135 99 Fig. 2 of [2]
(16,18)(16,18) 130130 𝟏𝟑𝟔\mathbf{136} 140140 44 Table 4 of [3]
(14,20)(14,20) 125125 𝟏𝟐𝟔\mathbf{126} 140140 1414 Fig. 2 of [2]
(16,19)(16,19) 132132 𝟏𝟑𝟔\mathbf{136} 152152 1616 Fig. 2 of [2]

The improvements over the previous lower bounds are therefore +4+4, +5+5, +6+6, +1+1 and +4+4. The bounds for (14,20)(14,20) and (16,19)(16,19) are those of Corollary 3; the other three are those of Theorem 1.

The (16,18)(16,18) witness has a notably regular degree distribution: its row sums are eight 99s and eight 88s, and its column sums are (92,88,76,62)(9^{2},8^{8},7^{6},6^{2}), where exponents denote multiplicities. For completeness, the corresponding profiles of the other two witnesses are: A13×19A_{13\times 19}, rows (106,92,85)(10^{6},9^{2},8^{5}) and columns (81,78,66,52,42)(8^{1},7^{8},6^{6},5^{2},4^{2}); A14×19A_{14\times 19}, rows (111,103,95,85)(11^{1},10^{3},9^{5},8^{5}) and columns (84,79,62,53,41)(8^{4},7^{9},6^{2},5^{3},4^{1}).

Remark 4.

A fourth witness produced by the same program in July 2026 gives z⁡(13,17,3,3)≥110z(13,17;3,3)\geq 110, matching the upper bound z⁡(13,17,3,3)≤110z(13,17;3,3)\leq 110 of Table 4 of [3] and hence the exact value. That matrix was found on 2026-07-03/04 and was communicated to, and verified by, the authors of [2] in July 2026. The value z⁡(13,17,3,3)=110z(13,17;3,3)=110 subsequently appears in [5]. We record the chronology only for context and claim no priority: [5] is the published source for that value, and we do not restate it as a result of this note. It is mentioned because the same program and the same search produced the three witnesses of Theorem 1.

Data availability

The three witnesses of Theorem 1 and the two padded witnesses of Corollary 3 are printed in Appendix A and are also supplied as ancillary files with this submission, in two machine-readable forms (bitstrings and JSON) together with one standalone verifier per witness. The verifiers are written against the Python standard library only: no third-party packages, no network access, no build step. A file of SHA-256 hashes covers every ancillary file.

Appendix A The witness matrices

Each matrix is printed one row per line, as a string of nn characters in {0,1}\{\texttt{0},\texttt{1}\} read left to right. These strings are the primary form of the data; the ancillary files contain all five matrices, these three and the two padded ones, in the identical bitstring form and again in JSON.

A13×19A_{13\times 19}: 13×1913\times 19, 118118 ones, K3,3K_{3,3}-free

1010010100111001000
0000100110101101100
0101110001110011100
0010100001111000011
0110111100100100010
1001101000011101010
1000110101000001011
1111000011100101001
1111100100001010101
1010110010010100100
0010001111010011110
1000011010101010111
0100011111011100001

A14×19A_{14\times 19}: 14×1914\times 19, 126126 ones, K3,3K_{3,3}-free

1110110100110010000
0010110101001001110
0001010110110000111
1000100011011110011
0100000000111011110
1101010110001101000
1111001001011000101
0110011010101000010
0001111000101110100
0010011010010101100
0101111000010001010
0011100010111001000
1011001100100111011
0100101111000011101

A16×18A_{16\times 18}: 16×1816\times 18, 136136 ones, K3,3K_{3,3}-free

100011101010010001
010000111100011101
110001011101100000
100000010111001011
101100000001111101
100110111000101010
110100001011010110
010010010011101100
110011000100100111
001001011001000111
011101010010010001
001111001110001100
011011100001011010
011000001010101011
000110100111100001
001000110110110110

The padded witnesses

The 14×2014\times 20 witness for z⁡(14,20,3,3)≥126z(14,20;3,3)\geq 126 is A14×19A_{14\times 19} with the character 0 appended to every row; the 16×1916\times 19 witness for z⁡(16,19,3,3)≥136z(16,19;3,3)\geq 136 is A16×18A_{16\times 18} with the character 0 appended to every row. Both are supplied explicitly as ancillary files so that no reader has to perform the transformation by hand.

Appendix B Verification recipe

Every witness ships with its own self-contained verifier script, which embeds the matrix and re-derives everything from it. With any Python 3 interpreter, and with no third-party packages and no network access:

    python verify_13x19.py

and likewise for the other four. Each script (i) checks the shape and that every entry lies in {0,1}\{0,1\}; (ii) recomputes the number of 11s from the matrix rather than reading it from a label, failing if the recount disagrees; (iii) enumerates all (m3)​(n3)\binom{m}{3}\binom{n}{3} pairs consisting of three rows and three columns and fails if any such 3×33\times 3 submatrix is all-ones; and (iv) compares the recomputed count with a recorded threshold. Each exits with status 00 if and only if all four checks pass, and prints the reason for any failure. The two verifiers for the padded witnesses additionally delete the appended all-zero column and re-verify the underlying witness, so that Lemma 2 is checked rather than assumed.

The three verifiers for the searched witnesses are the scripts written at the time of discovery and are shipped unaltered. They therefore compare against an internal threshold of 115115, 124124 and 132132 rather than against the published lower bounds 114114, 121121 and 130130, and they describe the results in the provisional language used before the constructions had been checked by anyone else. That threshold is the larger of the published lower bound and the bound already implied by a smaller cell through Lemma 2, so it is the stricter of the two and passing it implies passing the published bound. Neither the threshold nor the wording affects what the scripts verify.

A reader who prefers not to run supplied code can transcribe the strings of Appendix A and apply the same four checks in any language; the whole computation is a few hundred thousand elementary tests per matrix.

References

  • [1] K. Afrasyab, Exact Zarankiewicz values on two finite frontier slices, arXiv:2608.08154, 2026.
  • [2] J. Bhan, N. Nobili, and P. Langer, New bounds for Zarankiewicz numbers via reinforced LLM evolutionary search, arXiv:2605.01120v2, 2026.
  • [3] A. F. Collins, A. W. N. Riasanovsky, J. C. Wallace, and S. P. Radziszowski, Zarankiewicz numbers and bipartite Ramsey numbers, J. Algorithms Comput. 47 (2016), 63–78; arXiv:1604.01257.
  • [4] S. Davies, P. Gill, and D. Horsley, Improved upper bounds on Zarankiewicz numbers, Discrete Math. 349 (2026), 114924; arXiv:2411.18842.
  • [5] S. Hou, Seven exact finite Zarankiewicz numbers from a single 13×1813\times 18 core, arXiv:2608.08549, 2026.
  • [6] T. Kővári, V. T. Sós, and P. Turán, On a problem of K. Zarankiewicz, Colloq. Math. 3 (1954), 50–57.
  • [7] J. Tan, An attack on Zarankiewicz’s problem through SAT solving, arXiv:2203.02283, 2022.
  • [8] K. Zarankiewicz, Problem P 101, Colloq. Math. 2 (1951), 301.