1 Introduction

A regular graph is called edge-regular if any two adjacent vertices have the same number (\(\lambda \)) of common neighbors, and co-edge-regular if every pair of non-adjacent vertices have the same number (\(\mu \)) of common neighbors. A strongly regular graph is an edge and co-edge regular graph. A regular clique of order s in a regular graph is a clique having the property that every vertex outside of it is adjacent to the same positive number of vertices of the clique, denoted by e. A Neumaier graph is a non-complete edge-regular graph containing a regular clique. A Neumaier graph that is not a strongly regular graph is called a strictly Neumaier graph, and its parameter set is denoted as \((v,k,\lambda ;e,s)\), where v is the number of vertices and k the degree.

In his 1981 paper [15], Neumaier studied regular cliques in edge-regular graphs, and he showed that all vertex-transitive, edge-transitive graphs with a regular clique are strongly regular. He subsequently raised the question whether there are edge-regular graphs with a regular clique, that are not strongly regular, i.e. whether there are strictly Neumaier graphs. Greaves and Koolen [11] gave an answer to this question by constructing an infinite family of strictly Neumaier graphs. The same authors provided a second construction in [12]. All strictly Neumaier graphs described in [11, 12] have \(e=1\). Evans et al. [7] presented a family of strictly Neumaier graphs which is the only known family of strictly Neumaier graphs with \(e>1\). Abiad et al. [2] investigated Neumaier graphs with few eigenvalues, and showed that Neumaier graphs with four distinct eigenvalues do not exist, and recently the three present authors, together with Castryck and Koolen, presented several new non-existence results and a new construction of strictly Neumaier graphs with \(e=1\) [1].

In this article we present a variety of results on the existence of small strictly Neumaier graphs which resolve several open cases of parameters sets. In particular, we provide a theoretical proof for the uniqueness of the smallest strictly Neumaier graph, which has parameters (16, 9, 4; 2, 4), thus confirming the computational result obtained by Evans et al. [7]. We also show that a strictly Neumaier graph with parameters (25, 12, 5; 2, 5) exists, presenting a construction starting from a Latin square. At the time of writing, this is the first strictly Neumaier graph with odd order and \(e>1\). While optimization techniques have been successfully used on other algebraic graph classes such as cages [16] or mixed Moore graphs [14], their potential has not yet being exploited in the context of Neumaier graphs. In this regard, we propose an Integer Linear Programming (ILP) model and we use it to disprove the existence of strictly Neumaier graphs with several parameter sets; in particular, we show that (25, 16, 9; 3, 5), (28, 18, 11; 4, 7), (33, 24, 17; 6, 9) (35, 22, 12; 3, 5), (40, 30, 22; 7, 10) and (55, 34, 18; 3, 5) do not admit a strictly Neumaier graph.

2 Preliminaries

Throughout this paper we will consider simple graphs (i.e., undirected, loopless, no multiple edges). For a graph \(\varGamma \) we denote the set of vertices at distance i from a given vertex u by \(\varGamma _{i}(u)\). The set of neighbors of u, \(\varGamma _{1}(u)\), is denoted by \(\varGamma (u)\). The degree \(|\varGamma (u)|\) of a vertex u is denoted by \(d_u\). Adjacency between vertices is denoted by \(\sim \) and the set of edges between two sets of vertices S and T is denoted by E(ST).

A graph is (k-)regular if each vertex is adjacent to k vertices, for some integer k. A regular graph is (\(\lambda \)-)edge-regular if it is non-empty, and any pair of adjacent vertices has exactly \(\lambda \) common neighbors for some integer \(\lambda \); it is (\(\mu \)-)co-edge-regular if it is not complete, and any pair of non-adjacent vertices has exactly \(\mu \) common neighbors for some integer \(\mu \). A graph that is both edge-regular and co-edge-regular is called strongly regular. An edge-regular graph with parameters \((v,k,\lambda )\) has v vertices, is k-regular and \(\lambda \)-edge-regular; a co-edge-regular graph with parameters \((v,k,\mu )\) has v vertices, is k-regular and \(\mu \)-co-edge-regular. A strongly regular graph has parameters \((v,k,\lambda ,\mu )\) if it is edge-regular with parameters \((v,k,\lambda )\) and co-edge-regular with parameters \((v,k,\mu )\). An edge-regular graph satisfies the following properties.

Theorem 1

( [3, Section 1.1], [1, Corollary 3.2]) Let \(\varGamma \) be an edge-regular graph with parameters \((v,k,\lambda )\). Then

  1. (i)

    \(v-2k+\lambda \ge 0\),

  2. (ii)

    \(\lambda k \equiv 0 \pmod 2\),

  3. (iii)

    \(vk\lambda \equiv 0 \pmod 6\),

  4. (iv)

    \((v-k-1)(v-k-2)-k(v-2k+\lambda ) \ge 0\).

Let \(\varGamma \) be a graph with vertex set \(V(\varGamma )\) and let \(S\subset V(\varGamma )\). If every vertex in \(V(\varGamma ) {\setminus } S\) has precisely \(e>0\) neighbors in S, we say that S is e-regular. A clique of \(\varGamma \) is a subset of \(V(\varGamma )\) wherein all vertices are pairwise adjacent; a coclique of \(\varGamma \) is a subset of \(V(\varGamma )\) wherein all vertices are pairwise non-adjacent.

A graph is a Neumaier graph with parameters \((v,k,\lambda ;e,s)\) if it is edge-regular with parameters \((v,k,\lambda )\) and has an e-regular clique of size s. A Neumaier graph which is not strongly regular is called strictly Neumaier. Neumaier proved the following results regarding regular cliques in Neumaier graphs.

Theorem 2

([15], Theorem 1.1) Let \(\varGamma \) be a Neumaier graph with parameters \((v,k,\lambda ;e,s)\). Then

  1. (i)

    The largest clique of \(\varGamma \) has size s,

  2. (ii)

    All regular cliques are e-regular,

  3. (iii)

    The regular cliques are exactly the cliques of size s.

Not every choice of parameters \((v,k,\lambda ;e,s)\) admits a (strictly) Neumaier graph. Naturally, the parameters should satisfy \(e\le s-1\), \(k < v-1\) and \(s-2\le \lambda < k\). In addition, they must satisfy the following restrictions.

Theorem 3

( [15, Theorem 1.1] and [7, Theorem 1]) The parameters \((v,k,\lambda ;e,s)\) of a Neumaier graph satisfy the following conditions:

  1. (i)

    \(k-s+e-\lambda -1 \ge 0\),

  2. (ii)

    \(s(k-s+1)=(v-s)e\),

  3. (iii)

    \(s(s-1)(\lambda -s+2)=(v-s)e(e-1)\).

For strictly Neumaier graphs, some additional conditions are known. We refer to [11, Proposition 5.1], [15, Theorem 1.3], [17, Theorem 4.1], [6, Lemma 4.7], [6, Theorem 4.10] and [1, Corollary 3.2, Theorem 3.4] for more details.

Theorem 4

The parameters \((v,k,\lambda ;e,s)\) of a strictly Neumaier graph satisfy the following conditions:

  1. (i)

    \(s \ge 4\) and, as a result, \(\lambda \ge 2\),

  2. (ii)

    \(e \le k-2\),

  3. (iii)

    \(v \notin \{2k-\lambda , 2k-\lambda +1\}\),

  4. (iv)

    \(k-s+e-\lambda -1 \ge 1\).

  5. (v)

    \((v-k-1)(v-k-2)-k(v-2k+\lambda )>0\),

  6. (vi)

    \((v,k,\lambda ;e,s)\ne (6\ell +3,4\ell +2,3\ell ;\ell +1,2\ell +1)\) for some integer \(\ell \ge 3\).

A parameter set is called admissible if it satisfies all of the above conditions for strictly Neumaier graphs. Table 1 gives an overview of all known existence results for admissible parameter sets with \(v \le 64\).

Table 1 Admissible parameters for strictly Neumaier graphs up to 64 vertices

3 A Proof for the Uniqueness of the Smallest Strictly Neumaier Graph

In [7], Evans, Goryainov and Panasenko computationally showed that there exists a unique strictly Neumaier graph with parameters (16, 9, 4; 2, 4), the smallest admissible order of a strictly Neumaier graph. This was done by computer search, starting out with a clique and constructing all graphs such that this clique is regular. Below, we instead provide a theoretical (computer-free) uniqueness proof for this parameter set. The benefit such a proof is that it gives us a better understanding of the local structure of the Neumaier graph and is more easily verifiable than a computer proof. Rather than starting from a clique, our proof explores a different approach, starting from a neighborhood of a vertex.

A 9-regular graph \(\varGamma \) on sixteen vertices has diameter two, since two non-adjacent vertices have at least four common neighbors. Therefore, we will often refer to the non-neighborhood of a vertex \(u\in V(\varGamma )\) as \(\varGamma _2(u)\). Figure 1 shows three graphs that will play a role in our proofs: the diamond, paw and bowtie graph.

Lemma 5

A 4-regular graph on nine vertices which does not have the the diamond graph or \(K_4\) as a subgraph, either admits a partition into triangles or is isomorphic to the graph \(\varGamma ^{(1)}\) given in Fig. 3(1.1).

Proof

Note that a 4-regular graph \(\varGamma \) on nine vertices has eighteen edges and diameter two. Therefore, we will often refer to the non-neighborhood of a vertex as its set of vertices at distance 2. We will prove the claim by construction, starting with the graph \(K_{1,4}\cup 4K_1\) in Fig. 2, which also contains the vertex labeling we will use throughout this proof. We will distinguish three cases, based on the number of edges in \(\varGamma (x)\). The construction steps of each case are illustrated in Figs. 34 and 5 respectively, where each subfigure is labeled according with its written explanation.

Fig. 1
figure 1

The diamond graph, paw graph and bowtie graph

Fig. 2
figure 2

The graph \(K_{1,4}\cup 4K_1\) and its vertex labeling

Case 1. \(\varGamma (x)\) is an independent set.

Since every vertex has degree four, there must be 12 edges between \(\varGamma (x)\) and \(\varGamma _2(x)\), hence \(\varGamma _2(x)\) must contain two edges. These two edges can either form a path or be disjoint.

Case 1.1. The edges in \(\varGamma _2(x)\) form a path.

Assume this path to be (abc). All vertices in \(\varGamma (x)\) must be adjacent to d to ensure it has degree four. Up to this point, vertices efgh have identical neighborhoods. Each of them must have two more adjacencies with the set \(\{a,b,c\}\). Note that the endpoints of edges \(\{a,b\}\) and \(\{b,c\}\) may not have two common neighbors in \(\varGamma (x)\), because this induces a diamond graph. Therefore, we may without loss of generality assume that e, f, g and h are adjacent to \(\{a,b\}\)\(\{b,c\}\)\(\{a,c\}\) and \(\{a,c\}\), respectively. We will refer to the resulting graph, shown in Fig. 3(1.1), as \(\varGamma ^{(1)}\).

Case 1.2. The edges in \(\varGamma _2(x)\) are disjoint.

Each of the vertices efg and h is adjacent to two vertices in \(\varGamma _2(x)\) which span an edge. Since \(\varGamma _2(x)\) contains only two edges, there must be two vertices in \(\varGamma (x)\) adjacent to the endpoints of the same edge. This forms a diamond graph, contradicting the assumption.

Fig. 3
figure 3

Construction of all diamond-free 4-regular graphs on 9 vertices if \(\varGamma (x)\) is an independent set

Case 2. \(\varGamma (x)\) contains a single edge.

Without loss of generality, we assume vertices e and f to be adjacent, as shown in Fig. 4. In this case, there will be ten edges between \(\varGamma (x)\) and \(\varGamma _2(x)\). Therefore, \(\varGamma _2(x)\) has three edges, which form either a triangle, a star (i.e. \(K_{1,3}\)) or a path.

Case 2.1. The edges in \(\varGamma _2(x)\) form a triangle.

Without loss of generality, let abc be the vertices of this triangle. All vertices in \(\varGamma (x)\) must be adjacent to d to ensure it has degree four. This induces a diamond graph on xef and d, contradicting the assumption.

Case 2.2. The edges in \(\varGamma _2(x)\) form a star.

Assume b to be the center vertex of the star. The neighborhoods of g and h may not share an edge of the star, as this would induce a diamond graph. Therefore, at least one of them, without loss of generality h, must be adjacent to ac and d. Note that the neighborhood of h is then an independent set, so this graph is isomorphic to \(\varGamma ^{(1)}\).

Case 2.3. The edges in \(\varGamma _2(x)\) form a path.

Without loss of generality, let the path be \(\{a,b,c,d\}\). Vertex h cannot be adjacent to three consecutive path vertices, because this induces a diamond graph. Without loss of generality, it is therefore adjacent to ac and d. Similarly, vertex g cannot be adjacent to three consecutive path vertices, and additionally may not share an edge with \(\varGamma (h)\), so g is adjacent to ab and d. This give rise to three disjoint triangles, \(\{x,e,f\}\)\(\{a,b,g\}\) and \(\{c,d,h\}\), so if this construction leads to a diamond-free graph, it must have a partition into triangles.

Fig. 4
figure 4

Construction of all diamond-free 4-regular graphs on 9 vertices if \(\varGamma (x)\) contains one edge

Case 3. \(\varGamma (x)\) contains at least two edges.

Note that \(\varGamma (x)\) contains exactly two edges, otherwise \(\{x\}\cup \varGamma (x)\) (and thus also \(\varGamma \)) has the diamond graph or \(K_4\) as a subgraph. These two edges must be disjoint, otherwise \(\varGamma \) also admits a diamond graph as subgraph. Without loss of generality, we can assume that \(e\sim f\) and \(g\sim h\). Then there are eight edges between \(\varGamma (x)\) and \(\varGamma _2(x)\), so the induced graph on \(\varGamma _2(x)\) has four edges. These edges either form a 4-cycle or the paw graph from Fig. 1b.

Case 3.1. The edges in \(\varGamma _2(x)\) form a paw graph.

Let d be the vertex of degree one (see Fig. 5(3.1)). Vertex d has three more neighbors, so its neighborhood includes either \(\{e,f\}\) or \(\{g,h\}\). This creates a diamond graph, contradicting the assumption.

Case 3.2. The edges in \(\varGamma _2(x)\) form a 4-cycle.

All vertices of \(\varGamma (x)\) have two neighbors in \(\varGamma _2(x)\). These two neighbors are either adjacent in the 4-cycle or not. If they are adjacent, no other vertex in \(\varGamma (x)\) can have the same two neighbors. Moreover, e and f (and similarly g and h) have no common neighbors in \(\varGamma _2(x)\), because this would also induce a diamond graph, contradicting the assumption. So, either e and f (and similarly g and h) are both adjacent to consecutive cycle vertices or both are not. The following two cases then cover all options up to symmetry.

  1. (a)

    Suppose without loss of generality that e is adjacent to two consecutive cycle vertices. Then so is f, which leads to the graph in Fig. 5(3.2a). This graph admits a partition into triangles.

  2. (b)

    If efg and h each have two neighbors in the cycle that are not adjacent, we get the graph in Fig. 5(3.2b). The neighborhood of a is an independent set, so this graph must be isomorphic to \(\varGamma ^{(1)}\). \(\square \)

Fig. 5
figure 5

Construction of all diamond-free 4-regular graphs on 9 vertices if \(\varGamma (x)\) contains two edges

Lemma 6

If \(\varGamma \) is a strictly Neumaier graph with parameters (16, 9, 4; 2, 4), then \(\varGamma \) has a vertex \(u\in V(\varGamma )\) such that \(\varGamma (v)\simeq \varGamma ^{(1)}\).

Proof

Note that the neighborhood of a vertex in \(\varGamma \) may not contain the diamond graph as a subgraph, because this induces a pair of cliques which intersect in three vertices, violating the 2-regularity of the cliques and thus contradicting Theorem 22. It also does not contain a \(K_4\), as this would violate Theorem 2(i). Suppose that no \(u\in V(\varGamma )\) has a neighborhood isomorphic to \(\varGamma ^{(1)}\). Then by Lemma 5 the neighborhood of any vertex \(u\in V(\varGamma )\) contains a partition into triangles, so \(\varGamma \) contains three cliques which intersect only in u. Because of the 2-regularity, every vertex in \(\varGamma _2(u)\) must have two neighbors in each of these cliques, and hence it has exactly six neighbors in \(\varGamma (u)\). However, this means that \(\varGamma \) is 6-co-edge-regular, and hence not strictly Neumaier. \(\square \)

Lemma 7

  1. (i)

    There exists a unique graph on six vertices with degree sequence \((1,3,3,3,3,5)\).

  2. (ii)

    There are no graphs on six vertices with degree sequences (1, 1, 4, 4, 4, 4), (1, 2, 2, 3, 5, 5) or (1, 2, 2, 4, 4, 5).

  3. (iii)

    If a graph has degree sequence (1, 2, 3, 3, 4, 5), it must have \(K_4\) as a subgraph.

Proof

  1. (i)

    This graph can be constructed uniquely in the following way. Begin with a star graph on 6 vertices. The center vertex has degree five, the others degree one. This means there are four vertices which have two additional neighbors. The only way to achieve this is by adding a 4-cycle.

  2. (ii)

    Suppose there exists a graph with degrees (1, 1, 4, 4, 4, 4). The two vertices of degree one each have one (possibly the same) neighbor of degree four. Then there exists a vertex of degree four which is not adjacent to either, a contradiction.

    Suppose \(\varGamma \) is a graph on 6 vertices with degrees (1, 2, 2, 3, 5, 5). The two vertices of degree five must both be adjacent to all others. However, this is not possible, because \(\varGamma \) has a vertex of degree one.

    If a graph has degree sequence (1, 2, 2, 4, 4, 5), its two vertices of degree four have (at least) two common neighbors by the pigeonhole principle. One of these must be the vertex of degree five, the other we will call w. Note that the vertex of degree five is adjacent to all others, so w has degree at least three. This contradicts the degree sequence, as all other vertices should have degree at most two.

  3. (iii)

    Suppose \(\varGamma \) is a graph with the given degree sequence and let u and w denote the vertices of degree four and five. Then necessarily \(w\sim u\) and \(|\varGamma (w)\cap \varGamma (u)| = 3\). The remaining neighbor of w is the vertex of degree one. Note that \(\varGamma \) has nine edges in total, so there must be one additional edge between the vertices of \(\varGamma (u)\cap \varGamma (w)\), creating a \(K_4\). \(\square \)

Theorem 8

Up to isomorphism, there exists a unique strictly Neumaier graph with parameter set (16, 9, 4; 2, 4).

Proof

Suppose that \(\varGamma \) is a strictly Neumaier graph with parameters \((16,9,4;2,4)\). Lemma 6 implies that there must be a vertex \(u\in V(\varGamma )\) such that \(\varGamma (u) \simeq \varGamma ^{(1)}\). We will use the vertex labeling of Fig. 6 to refer to the vertices of \(\varGamma (u)\). Together with u, the bowtie subgraph on \(B:=(\varGamma (x)\cap \varGamma (u))\cup \{x\}\) forms two 4-cliques, which intersect in u and x. Within \(\varGamma (u)\), every vertex has two neighbors in each of these cliques if it is not contained in it, so all vertices of this subgraph comply with the 2-regularity requirement. This must also be the case for all vertices in \(\varGamma _2(u)\). We will show that this uniquely determines the edges between the B and \(\varGamma _2(u)\), up to isomorphism.

Fig. 6
figure 6

The neighborhood of vertex u

Consider the subgraph spanned by \(B\cup \varGamma _2(u)\). The vertices of B must have four more neighbors in \(\varGamma _2(u)\) each, and every vertex of \(\varGamma _2(u)\) must have two neighbors in the cliques \(\{u, x, e, f\}\) and \(\{u, x, g, h\}\) because of 2-regularity. Therefore, two vertices of \(\varGamma _2(u)\) are adjacent to efg and h, while the others are adjacent to x and one vertex from each of the sets \(\{e,f\}\) and \(\{g,h\}\). Up to symmetry, there are two ways to choose these edges. Either two vertices of \(\varGamma _2(u)\) are adjacent to e and g and two to f and h, or the four remaining vertices are adjacent to e and gg and ff and h and h and e, respectively. Figure 7 shows both options, as well as the vertex labeling we will assume throughout the rest of the proof for \(\varGamma _2(u)\).

Fig. 7
figure 7

The edges between B and \(\varGamma _2(u)\)

Case 1. The edges between B and \(\varGamma _2(u)\) are as in Fig. 7b.

We will now focus on the remaining edges between \(\varGamma (u)\) and \(\varGamma _2(u)\). Vertices abc and d must have four neighbors in \(\varGamma _2(u)\) since \(\varGamma \) is 9-regular. This means that a and c could have two, three or four common neighbors in \(\varGamma _2(u)\). We branch on each of these cases, denoting \(S:=\varGamma (a)\cap \varGamma (c) \cap \varGamma _2(u)\) for short. Before we do so, we note the following useful fact.

Both a and c are adjacent to e and g. To satisfy 4-edge-regularity, they both must have three common neighbors with e as well as with g in \(\varGamma _2(u)\), as they currently only have u as a common neighbor. Therefore, a and c must have three neighbors in the set \(\{v_1, v_2, v_3, v_4\}\) and one in \(\{v_5, v_6\}\). Similarly, b and d have one neighbor in \(\{v_1, v_2\}\) and three in \(\{v_3, v_4, v_5, v_6\}\). Since a and c are also adjacent to b and d, both a and c must have three common neighbors in \(\varGamma _2(u)\) with b as well as with d.

Case 1.1. \(|S| = 2\).

By the pigeonhole principle, the two common neighbors lie in \(\{v_1, v_2, v_3, v_4\}\). It also follows from the above observation that they are adjacent to b and d, otherwise these vertices cannot have three common neighbors with both a and c. As a result, S cannot include both \(v_1\) and \(v_2\). We may therefore assume without loss of generality that either \(S = \{v_3, v_4\}\) or \(S=\{v_1,v_3\}\). We show that neither option leads to a valid strictly Neumaier graph.

Fig. 8
figure 8

The edges between \(\varGamma _2(u)\) and \(\{a, b, c, d\}\) when \(|S| = 2\)

  1. (a)

    If \(S = \{v_3, v_4\}\), we know that \(v_3, v_4 \sim b, d\). As a and c have identical neighborhoods so far, we may also assume that \(a\sim v_1, v_5\) and \(c\sim v_2, v_6\), which results in the graph schematically depicted in Fig. 8a. Both b and d have one more neighbor in the sets \(\{v_1, v_2\}\) and \(\{v_5, v_6\}\), and one more common neighbor with both a and c. Either they share the same two neighbors, without loss of generality \(v_1\) and \(v_6\), or they have distinct neighbors, say \(b\sim v_1, v_6\) and \(d\sim v_2, v_5\). In the first case, the subgraph induced on \(\varGamma _2(u)\) has two vertices of degree five, \(v_2\) and \(v_5\), which must be adjacent to all other vertices. However, \(v_3\) and \(v_4\) have degree one in this graph, so this is not possible. The second case implies that the subgraph induced on \(\varGamma _2(u)\) has degree sequence (1, 1, 4, 4, 4, 4), contradicting Lemma 77.

  2. (b)

    If \(S=\{v_1,v_3\}\), we know that \(v_1, v_3 \sim b, d\) and every vertex in \(\varGamma _2(u)\setminus S\) is adjacent to either a or c. Without loss of generality, let \(a\sim v_2, v_5\) and \(c\sim v_4, v_6\). Note that \(b,d\not \sim v_2\), because we showed at the start of Case 1 that they have exactly one neighbor in \(\{v_1, v_2\}\). Then \(b,d\sim v_5\), and they both have one neighbor among \(v_4, v_6\). Figure 8b shows an overview of these edges. For the induced graph on \(\varGamma _2(u)\), this leads to degree sequence (1, 2, 3, 3, 4, 5) or (1, 2, 2, 3, 5, 5). By Lemma 77, the first option is not possible, since it creates a 4-clique in which u has no neighbors. In the second case, two vertices have degree five in \(\varGamma _2(u)\), so they must both be adjacent to all others. However, this cannot happen, because \(\varGamma _2(u)\) also has a vertex of degree one (Fig. 9).

Fig. 9
figure 9

The unique strictly Neumaier graph on 16 vertices. Its maximum cliques are indicated by thick and dashed lines

Case 1.2. \(|S| = 3\).

If \(|S| = 3\), there is exactly one vertex in \(\varGamma _2(u)\) that is adjacent to a and not to c and exactly one vertex in \(\varGamma _2(u)\) that is adjacent to c and not to a. Observe that if b or d is adjacent to one of these vertices it must also be adjacent to the other, since it must have the same number of common neighbors with a and c. There are, up to symmetry, five ways to choose S, namely \(\{v_1, v_2, v_3\}, \{v_1, v_2, v_5\},\{v_3, v_4, v_5\}, \{v_1, v_3, v_5\}\) and \(\{v_1, v_3, v_4\}\), which also uniquely determine the remaining two vertices that are adjacent to a or c (note that we could interchange a and c, since they have the same set of neighbors up to this point). Each of these cases is illustrated in Fig. 10a–e. Below, we derive the remaining edges of b and d for all of them.

Fig. 10
figure 10

The edges between \(\varGamma _2(u)\) and \(\{a, b, c, d\}\) when \(|S| = 3\)

  1. (a)

    Suppose that \(S = \{v_1, v_2, v_3\}\). Vertices b and d are adjacent to only one vertex in \(\{v_1, v_2\}\), hence their remaining neighbors in \(\varGamma _2(u)\) must be adjacent to a and c. If they both have the same neighbor in \(\{v_1, v_2\}\), this leads to degree sequence (1, 2, 3, 3, 4, 5) for the subgraph induced by \(\varGamma _2(u)\), and otherwise we get (1, 3, 3, 3, 3, 5). The first sequence does not create a valid Neumaier graph, as Lemma 77 implies that \(\varGamma _2(u)\) contains a 4-clique. This clique is not 2-regular, because u has no neighbors in it. In the second case, we may assume that \(b\sim v_1\) and \(d\sim v_2\), since b and d have the same neighborhood up to this point. We know from Lemma 77 that there exists a unique graph with degree sequence (1, 3, 3, 3, 3, 5). Moreover, in this graph, the vertices of degree three are symmetric under its automorphism group. Therefore, we can uniquely embed this graph into \(\varGamma _2(u)\) up to isomorphism. It is easily checked that the resulting graph is strictly Neumaier with eight 2-regular 4-cliques. The full graph is shown in Fig. 9.

  2. (b)

    Let \(S = \{v_1, v_2, v_5\}\). Analogous to the previous case, b and d must share all neighbors of a and c among \(v_3, \dots , v_6\). As a result, \(v_6\) is not adjacent to abc and d, so it must have six neighbors in \(\varGamma _2(u)\), but this is not possible.

  3. (c)

    If \(S=\{v_3, v_4, v_5\}\), then a and c have distinct neighbors in \(\{v_1, v_2\}\). Vertices b and d also have one neighbor in \(\{v_1, v_2\}\), but by the above observation they must be adjacent to both \(v_1\) and \(v_2\) or neither, a contradiction.

  4. (d)

    Assume that \(S = \{v_1, v_3, v_5\}\). Then \(a\sim v_2\) and \(c\sim v_4\) (or vice versa), so b (and also d) is either adjacent to both \(v_2\) and \(v_4\) or none of these vertices. First, assume that \(b\sim v_2, v_4\). In that case, we also know that \(b\sim v_3, v_5\), since it has three common neighbors with a and c. Vertex \(v_6\) must then be adjacent to d, since it has at most 5 neighbors in \(\varGamma _2(u)\), and it has degree nine. This implies that \(d\sim v_1, v_3, v_5\). Therefore, \(\varGamma _2(u)\) must have degree sequence (1, 2, 3, 3, 4, 5), so by Lemma 77 it contains a 4-clique. This violates 2-regularity, because u has no neighbors in this clique. Note that the case \(d\sim v_2, v_4\) is entirely symmetric, so we may now assume that both b and d are not adjacent to \(v_2\) and \(v_4\). However, then we must have \(b,d\sim v_1, v_3, v_5, v_6\), which implies that the graph spanned by \(\varGamma _2(u)\) has degree sequence (1, 2, 2, 4, 4, 5), contradicting Lemma 77.

  5. (e)

    Finally, let \(S = \{v_1, v_3, v_4\}\). Then \(v_5\) is adjacent to a but not to c, and \(v_6\) is adjacent to c but not to a (or vice versa, but this case is symmetric). By the pigeonhole principle, b and d have at least one neighbor in \(\{v_5, v_6\}\), so they must be adjacent to both \(v_5\) and \(v_6\). This means they b and d will have two common neighbors with a as well as with c within \(\{v_3, v_4, v_5, v_6\}\), so they must also both be adjacent to \(v_1\). Then \(v_2\) is not adjacent to abc and d, which means that it has six neighbors in \(\varGamma _2(u)\), a contradiction.

Case 1.3. \(|S| = 4\).

In this case, \(\varGamma (a)\cap \varGamma _2(u) = S = \varGamma (c)\cap \varGamma _2(u)\), so three vertices of S are in \(\{v_1, v_2, v_3, v_4\}\) and the other in \(\{v_5, v_6\}\). Without loss of generality, we assume that either \(S = \{v_1, v_3, v_4, v_5\}\) or \(S=\{v_1, v_2, v_3, v_5\}\). These two cases are shown in Fig. 11a and b, respectively.

Fig. 11
figure 11

The edges between \(\varGamma _2(u)\) and \(\{a, b, c, d\}\) when \(|S| = 4\)

  1. (a)

    First consider \(S = \{v_1, v_3, v_4, v_5\}\). Vertex \(v_2\) cannot have degree six in the subgraph induced on \(\varGamma _2(u)\), so it must have another neighbor, without loss of generality b. Since b has three common neighbors with a and c, this implies \(b\sim v_3, v_4, v_5\). By the same argument, \(d\sim v_6\). Then \(d\sim v_1\), and it has two neighbors among \(\{v_3, v_4, v_5\}\), because it must have three common neighbors with a and c. In particular, it must be adjacent to \(v_3\) or \(v_4\). Without loss of generality, let \(d\sim v_3\). However, then the subgraph induced by \(\varGamma _2(u)\) has two vertices of degree five, \(v_2\) and \(v_6\), which must both be adjacent to \(v_3\), which has degree one. This is clearly not possible.

  2. (b)

    If \(S=\{v_1, v_2, v_3, v_5\}\), then b and d can only have three common neighbors with a and c if \(b,d\sim v_3,v_5\) and both have one neighbor in \(\{v_1, v_2\}\). Also, \(v_6\) is adjacent to at least one of bd, otherwise it must have degree six in \(\varGamma _2(u)\). If \(b,d\sim v_6\), then \(v_4\) and \(v_6\) have degree five and four in the subgraph induced on \(\varGamma _2(u)\), whereas the reverse is true when only one of them is adjacent to \(v_6\) and the other to \(v_4\). If b and d have the same neighbor in \(\{v_1, v_2\}\), this leads to degree sequence (1, 2, 2, 4, 4, 5) and otherwise we get (1, 2, 3, 3, 4, 5). The first degree sequence cannot exist due to Lemma 77, the second is ruled out by Lemma 77.

Case 2. The edges between B and \(\varGamma _2(u)\) are as in Fig. 7c.

Recall that in this case, \(v_3, v_4\sim e, f, g, h\), while \(v_1\)\(v_2\)\(v_5\) and \(v_6\) are adjacent to x, as well as to e and gg and ff and h and h and e, respectively. This implies the following.

Both a and c are adjacent to e as well as to g. To satisfy 4-edge-regularity, they both must have three common neighbors with both e and g in \(\varGamma _2(u)\), as they only have u as a common neighbor in \(\{u\}\cup \varGamma (u)\). Therefore, a and c must have exactly three neighbors in the sets \(\{v_1, v_2, v_3, v_4\}\) and \(\{v_1, v_3, v_4, v_6\}\). Similarly, b and d have three neighbors in \(\{v_3, v_4, v_5, v_6\}\) and in \(\{v_2, v_3, v_4, v_5\}\). Analogous to Case 1, both a and c must also have three common neighbors in \(\varGamma _2(u)\) with b as well as with d.

Note that the above implies that either \(\{v_1, v_3, v_4\}\subset \varGamma (a)\) or \(|\{v_1, v_3, v_4\}\cap \varGamma (a)|=2\). The same is true for c. Therefore, it suffices to consider the following three cases: \(\{v_1, v_3, v_4\}\subset \varGamma (a)\cap \varGamma (c)\)\(\{v_1, v_3, v_4\}\subset \varGamma (a)\) and \(|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\) (note that we could interchange a and c here, since these cases are symmetric) and \(|\{v_1, v_3, v_4\}\cap \varGamma (a)|=|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\).

Case 2.1. \(\{v_1, v_3, v_4\}\subset \varGamma (a)\cap \varGamma (c)\).

If \(\{v_1, v_3, v_4\}\subset \varGamma (a)\cap \varGamma (c)\)a and c cannot be adjacent to \(v_2\) or \(v_6\), otherwise they would have more than three common neighbors with g or e in \(\varGamma _2(u)\). Therefore, their final neighbor is \(v_5\). Moreover, both b and d cannot be adjacent to \(v_6\). If they are, they must also be adjacent to \(v_2\) to ensure 4-edge-regularity with f, hence they cannot have three common neighbors with a and c in \(\varGamma _2(u)\). Then \(v_6\) has degree six in \(\varGamma _2(u)\), which is not possible.

Case 2.2. \(\{v_1, v_3, v_4\}\subset \varGamma (a)\) and \(|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\).

Vertices \(v_3\) and \(v_4\) have the same set of neighbors in B. Therefore, we may assume without loss of generality that \(|\{v_1, v_3, v_4\}\cap \varGamma (c)|\) is either \(\{v_1, v_3\}\) or \(\{v_3, v_4\}\). Both options are shown in Fig. 12. Note that \(a\sim v_5\), since it already has three neighbors in \(\varGamma _2(u)\) with e and g. Analogously, also note that  \(c\sim v_2, v_6\).

Fig. 12
figure 12

The edges between \(\varGamma _2(u)\) and \(\{a, b, c, d\}\) when \(\{v_1, v_3, v_4\}\subset \varGamma (a)\) and \(|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\)

  1. (a)

    Suppose that \(|\{v_1, v_3, v_4\}\cap \varGamma (c)| = \{v_1, v_3\}\). Since b and d have three common neighbors with a and c in \(\varGamma _2(u)\), they must be adjacent to both \(v_1\) and \(v_3\). They are also adjacent to \(v_2\), because they have three neighbors in \(\{v_2, v_3, v_4, v_5\}\). However, then they cannot have three neighbors in \(\{v_3, v_4, v_5,v_6\}\), a contradiction.

  2. (b)

    If \(|\{v_1, v_3, v_4\}\cap \varGamma (c)| = \{v_3, v_4\}\), then we also know that \(c\sim v_2, v_6\). Analogous to Case 2.2(a), we have \(b,d\sim v_3, v_4\), so \(v_3\) and \(v_4\) have degree one in the subgraph induced by \(\varGamma _2(u)\). However, the other four vertices of this subgraph can span at most six edges. Hence \(\varGamma _2(u)\) has at most eight edges, while it should have nine, a contradiction.

Case 2.3. \(|\{v_1, v_3, v_4\}\cap \varGamma (a)|=|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\).

In this case, e and g must have two common neighbors with a and c outside of \(\{v_1, v_3, v_4\}\), so we know that \(a,c\sim v_2, v_6\). Since neither a nor c is adjacent to \(v_{5}\), and \(v_{5}\) cannot have degree six in \(\varGamma _2(u)\), we may assume without loss of generality that \(b\sim v_5\). Within \(\{v_1, v_3, v_4\}\)a and c have one or two common neighbors. If they have one common neighbor in \(\{v_1, v_3, v_4\}\), then this is, up to symmetry, either \(v_1\) or \(v_3\). If a and c have two common neighbors in \(\{v_1, v_3, v_4\}\), then these are, up to symmetry, either \(v_1\) and \(v_3\) or \(v_3\) and \(v_4\). Figure 13 illustrates all options.

Fig. 13
figure 13

The edges between \(\varGamma _2(u)\) and \(\{a, b, c, d\}\) when \(|\{v_1, v_3, v_4\}\cap \varGamma (a)|=|\{v_1, v_3, v_4\}\cap \varGamma (c)|=2\)

  1. (a)

    If \(a,c\sim v_1\) and \(v_1\) is the only common neighbor of a and c in \(\{v_1, v_3, v_4\}\), then b must be adjacent to \(v_1\)\(v_2\) and \(v_6\) in order to have three common neighbors with a and c in \(\varGamma _2(u)\). This is a contradiction, since we know it has three neighbors in \(\{v_3, v_4, v_5, v_6\}\).

  2. (b)

    If \(a,c\sim v_3\) and \(v_3\) is the only common neighbor of a and c in \(\{v_1, v_3, v_4\}\), then we may assume without loss of generality that \(a\sim v_1\) and \(c\sim v_4\). Then \(b\sim v_2, v_3, v_6\), as b has three common neighbors with acf and h in \(\varGamma _2(u)\). If \(d\sim v_5\), it has the same neighbors as b and the subgraph induced by \(\varGamma _2(u)\) has degree sequence (1, 2, 2, 4, 4, 5). This contradicts Lemma 77. Otherwise, the only option which ensures 4-edge-regularity with f is \(d\sim v_2, v_3, v_4, v_6\). However, in this case c and d have five common neighbors, a contradiction.

  3. (c)

    If \(a,c\sim v_1,v_2,v_3,v_6\), then \(b\sim v_2, v_3, v_6\), as b has three common neighbors with acf and h in \(\varGamma _2(u)\). If \(d\sim v_5\), it has the same neighbors as b. Otherwise, the only option is \(d\sim v_2, v_3, v_4, v_6\). In both cases, \(\varGamma _2(u)\) has degree sequence (1, 2, 2, 4, 4, 5), contradicting Lemma 77.

  4. (d)

    Let \(a, c\sim v_2, v_3, v_4, v_6\). If \(b\sim v_1\), it must also be adjacent to \(v_3\) and \(v_4\) to ensure 4-edge-regularity with f and h. This cannot be the case, because then b does not have three common neighbors with a and c in \(\varGamma _2(u)\). The same holds for d. However, if \(b,d\not \sim v_1\), then \(v_1\) must have degree six in \(\varGamma _2(u)\), a contradiction.

\(\square \)

4 A New Strictly Neumaier Graph on 25 Vertices

In this section, we construct a strictly Neumaier graph with parameters \((25,12,5;2,5)\) from a Latin square of order five. At the time of writing, this appears to be the first strictly Neumaier graph with odd order and \(e>1\), and also the first oneFootnote 1 with \(1\ne e\ne \frac{s}{2}\). It is also the first (and so far only, to our knowledge) strictly Neumaier graph with v odd, that is not vertex-transitive; several non-vertex-transitive strictly Neumaier graphs with v even were constructed in [6, Section 4.4.2]. Moreover, the parameter set (25, 12, 5; 2, 5) is the only one for which at this moment only a non-vertex-transitive example is known: for all other parameter sets for which existence is established, a vertex-transitive example is known. Our construction requires the following preliminary definitions.

A Latin square of order n is an \(n\times n\) grid where every cell has a label from the set \(\{1,\dots ,n\}\), often referred to as its color, such that every value appears exactly once in every row and column. With a Latin square, one can associate a graph on \(n^2\) vertices, corresponding to the cells, which are adjacent if they share a row, column or color. These strongly regular graphs are referred to as Latin square graphs and are Neumaier with parameters \(\left( n^2,3(n-1),n;2,n\right) \) for any given Latin square. In the remainder of this section, we label the cell of a Latin square in row i and column j, as well as the corresponding vertex in the Latin square graph, as \(x_{ij}\).

Let L be the Latin square of order 5 shown in Fig. 14. Note that L has a cell \(x_{11}\) of color 1, which is contained in four \(2\times 2\) Latin subsquares, one for each other color class.

Fig. 14
figure 14

A Latin square of order five. Cell \(x_{11}\) is contained in four \(2\times 2\) Latin subsquares, each indicated with a different color

We define the following \(3\times 3\) matrices:

$$\begin{aligned} I&=\begin{pmatrix} 1&{}0&{}0\\ 0&{}1&{}0\\ 0&{}0&{}1 \end{pmatrix}&A&=\begin{pmatrix} 0&{}1&{}0\\ 0&{}0&{}1\\ 1&{}0&{}0 \end{pmatrix}&B&=\begin{pmatrix} 0&{}1&{}1\\ 1&{}0&{}1\\ 1&{}1&{}0 \end{pmatrix}=A+A^{t}\\ E_1&=\begin{pmatrix} 1&{}1&{}1\\ 0&{}0&{}0\\ 0&{}0&{}0 \end{pmatrix}&E_2&=\begin{pmatrix} 0&{}0&{}0\\ 1&{}1&{}1\\ 0&{}0&{}0 \end{pmatrix}&E_3&=\begin{pmatrix} 0&{}0&{}0\\ 0&{}0&{}0\\ 1&{}1&{}1 \end{pmatrix}\\ \overline{E_1}&=\begin{pmatrix} 0&{}0&{}0\\ 1&{}1&{}1\\ 1&{}1&{}1 \end{pmatrix}&\overline{E_2}&=\begin{pmatrix} 1&{}1&{}1\\ 0&{}0&{}0\\ 1&{}1&{}1 \end{pmatrix}&\overline{E_3}&=\begin{pmatrix} 1&{}1&{}1\\ 1&{}1&{}1\\ 0&{}0&{}0 \end{pmatrix} \end{aligned}$$

and let O be the \(3\times 3\) zero matrix. Let \(\varvec{j}\) and \(\varvec{0}\) be the all-one and all-zero row vector of length 3, respectively. We can represent the Latin square graph \(\varGamma ^{(L)}\) corresponding to L by the symmetric block matrix M defined as

$$\begin{aligned} M= \begin{pmatrix} 0 &{} \varvec{j} &{} \varvec{j} &{} \varvec{j} &{} \varvec{j} &{} \varvec{0} &{} \varvec{0} &{} \varvec{0} &{} \varvec{0}\\ \varvec{j}^t&{} B &{} E_1 &{} E_2 &{} E_3 &{} \overline{E_1} &{} \overline{E_2} &{} \overline{E_3} &{} O\\ \varvec{j}^t&{} E_1^t &{} B &{} I &{} I &{} I+A&{} A &{} I &{} B\\ \varvec{j}^t&{} E_2^t &{} I &{} B &{} I &{} I &{} I+A &{} A &{} I+A^{t}\\ \varvec{j}^t&{} E_3^t &{} I &{} I &{} B &{} A &{} I &{} I+A &{} I+A\\ \varvec{0}^t&{} \overline{E_1}^t &{} I+A^t &{} I &{} A^t &{} B &{} A &{} A^{t} &{} I+A^{t}\\ \varvec{0}^t&{} \overline{E_2}^t &{} A^t &{} I+A^t &{} I &{} A^t &{} B &{} A &{} I+A\\ \varvec{0}^t&{} \overline{E_3}^t &{} I &{} A^t &{} I+A^t &{} A &{} A^t &{} B &{} B\\ \varvec{0}^t&{} O &{} B &{} I+A &{} I+A^t&{} I+A&{} I+A^t &{} B &{} O \end{pmatrix}. \end{aligned}$$

The first row of M corresponds to \(x_{11}\). This representation is obtained as follows.

Let \(L'\) correspond to one of the \(2\times 2\) Latin subsquares of L containing \(x_{11}\). We will choose \(L'=\{x_{11},x_{12},x_{21},x_{22}\}\), but note that all four choices are equivalent under the automorphism group of L. Let \(C_1,C_2,C_3 \subset V\left( \varGamma ^{(L)}\right) \) be the three 5-cliques containing \(x_{11}\). The second block row/column of M then corresponds to \(L'\setminus \{x_{11}\}\) and the third, fourth and fifth block row/column of M correspond to \(C_1{\setminus } L'\)\(C_2{\setminus } L'\) and \(C_3{\setminus } L'\). Let \(C'_1,C'_2,C'_3 \subset V\left( \varGamma ^{(L)}\right) \) be the three 5-cliques containing two vertices of \(L'\) but not \(x_{11}\), and such that \(C_i\) and \(C'_i\) have no vertices in common. The next three block rows/columns correspond to \(C'_1{\setminus } L'\)\(C'_2{\setminus } L'\) and \(C'_3\setminus L'\). The last block row/column of M then corresponds to the remaining three vertices.

Starting from the graph \(\varGamma ^{(L)}\) we can construct a strictly Neumaier graph \(\varGamma ^{(25)}\). Note that the subgraph induced on the nine vertices of \(\left( C'_1\cup C'_2\cup C'_3\right) \setminus L'\) is a \(3\times 3\) rook’s graph, as given in Fig. 15a. The graph \(\varGamma ^{(25)}\) is obtained from \(\varGamma ^{(L)}\) by removing the edges from three disjoint triangles, namely \(\{x_{24},x_{32},x_{34}\}\), \(\{x_{25},x_{42},x_{45}\}\) and \(\{x_{23},x_{52},x_{53}\}\), and adding nine edges, thereby creating the disjoint triangles \(\{x_{24},x_{42},x_{45}\}\), \(\{x_{25},x_{32},x_{53}\}\) and \(\{x_{23},x_{42},x_{34}\}\). So, the induced subgraph on \(\left( C'_1\cup C'_2\cup C'_3\right) \setminus L'\) from Fig. 15a is replaced by the one from Fig. 15b.

Fig. 15
figure 15

Replacing the red edges on the left by those on the right, transforms \(\varGamma ^{(L)}\) into the Neumaier graph \(\varGamma ^{(25)}\)

The adjacency matrix of the new strictly Neumaier graph \(\varGamma ^{(25)}\) is a symmetric block matrix \(M'\) given by

figure a

It is obtained from M by replacing the highlighted blocks with identity matrices. Although only nine edges are switched, nine 5-cliques in \(\varGamma ^{(L)}\) are destroyed by the switching, leaving only six in \(\varGamma ^{(25)}\). This matrix representation allows for a direct check that \(\varGamma ^{(25)}\) is indeed strictly Neumaier.

The new strictly Neumaier graph can be obtained in Sage using graph6 identifier

The automorphism group \({{\,\textrm{Aut}\,}}(\varGamma ^{(25)})\) has order eighteen and is structurally isomorphic to \((C_3\times C_3)\rtimes C_2\). It has five orbits on the vertices: \(\{x_{11}\}\), \(L'\setminus \{x_{11}\}\), \((C_1\cup C_2\cup C_3)\setminus L'\), \(\left( C'_1\cup C'_2\cup C'_3\right) {\setminus } L'\) and \(\{x_{35},x_{43},x_{54}\}\). The group \({{\,\textrm{Aut}\,}}(\varGamma ^{(25)})\) is a subgroup of \({{\,\textrm{Aut}\,}}(\varGamma ^{(L)})\), which has size 72, is structurally isomorphic to \((C_3\times A_4)\rtimes C_2\) and which has only three orbits on the vertices.

5 A New Approach for Nonexistence

In this section we propose a novel approach, which makes uses of integer linear programming (ILP), to show that there can be no strictly Neumaier graph with parameters (25, 16, 9; 3, 5), (28, 18, 11; 4, 7), (33, 24, 17; 6, 9), (35, 22, 12; 3, 5), (40, 30, 22; 7, 10) or (55, 34, 18; 3, 5).

5.1 Integer Linear Programming and the Graph Complement

The parameter sets that we will discard using the ILP model all have high degree, so it makes sense to instead work with the complement graph. Note that computationally this does not make a difference, as this is a matter of choosing edges versus non-edges. However, to speed up the search, we will make some theoretical observations, which are easier to derive on the complement graphs since they are sparser.

Suppose that \(\varGamma \) is a graph such that \(\overline{\varGamma }\) is strictly Neumaier with parameters \((v,k,\lambda ;e,s)\). Then \(\varGamma \) is \(k'\)-regular, \(\mu '\)-co-edge-regular and contains a \(e'\)-regular coclique C of size s, where \(k'= v-k-1\), \(\mu '= v-2k+\lambda \) and \(e'=s-e\) respectively. Since the complement \(\overline{\varGamma }\) is strictly Neumaier, \(\varGamma \) cannot be \(\lambda '\)-edge-regular, with \(\lambda '= v-2-2k+\frac{k(k-\lambda -1)}{v-k-1}\); note that \(\varGamma \) cannot be \(\ell \)-edge-regular for any \(\ell \ne \lambda '\).

Using the parameters of this complement graph, we will convert the problem of finding a strictly Neumaier graph to an integer linear program. As we are only interested in the existence of a feasible solution, there is no objective function. The full formulation of the ILP is shown in Fig. 16. We give a more detailed explanation of each of the variables and constraints below.

Assume without loss of generality that the vertices are labeled \(1,2,\dots ,v\) and that \([s]:=\{1,2,\dots ,s\}\) is the \(e'\)-regular coclique. Every unordered pair of vertices \(\{u,w\}\) is associated with a binary variable \(x_{uw}\), which symbolizes whether edge \(\{u,w\}\) is in the graph. In addition, there is a variable \(y_{tuw}\) for every pair \(\{u,w\}\) and vertex t, which equals one whenever the edges \(\{t,u\}\) and \(\{t,w\}\) exist, i.e., if t is a common neighbor of u and w. Constraints 16(b)–(d) ensure that \(y_{tuw}\) is consistent with the values of \(x_{tu}\) and \(x_{tw}\).

The constructed graph should be \(k'\)-regular, hence the number of edges containing a given vertex must equal \(k'\) (constraint 16(a)). Constraints 16(e)–(f) force the solution to be co-edge-regular by ensuring that whenever vertices uw are not adjacent, their number of common neighbors is exactly \(\mu '\). Note that if \(x_{uw}=1\), the number of common neighbors is bounded between 0 and v by these constraints, so if \(v\sim w\) there is no restriction. The regular coclique is induced by constraints 16(g) and 16(h), which prevent edges between coclique vertices and restrict the number of neighbors of each vertex \(u\in [v]\setminus [s]\) into [s] respectively.

As we are considering strictly Neumaier graphs, the output graph should not be \(\lambda '\)-edge-regular, so there exists a pair of adjacent vertices \(\{p,q\}\) that do not have exactly \(\lambda '\)-common neighbors. Without loss of generality, we may assume that this pair is either \(\{s,s+1\}\) or \(\{s+1,s+2\}\). We therefore solve the ILP four times: for each pair, once with a constraint forcing the pair to have more than \(\lambda '\) common neighbors (constraint 16(k), and once such that it has fewer (constraint 16(l)).

Fig. 16
figure 16

For some parameter sets considered in this article, we will be able to prove that certain edges must exist in the complement of a strictly Neumaier graph. In this case, we can add the set S of these edges as an input to the ILP and add constraints to ensure that these edges exist in any solution. If we do so, we might need to run the ILP more than four times to ensure that the graph is not \(\lambda '\)-edge-regular, because the automorphism group of the subgraph \(\varGamma '= (V,S)\) may induce more than two orbits of potentially adjacent vertex pairs. Integer linear program that determines the existence of the complement of a strictly Neumaier graph with parameters \((v,k,\lambda ;e,s)\), i.e., a \(k'\)-regular, \(\mu '\)-co-edge-regular graph with a \(e'\)-regular coclique of size s. The given pair of vertices \(\{p,q\}\) is used to prevent \(\lambda '\)-edge-regularity by setting its number of common neighbors strictly smaller or larger than \(\lambda '\)

5.2 Nonexistence Results of Small Strictly Neumaier Graphs

Using the integer program from Sect. 5.1, we show that there can be no strictly Neumaier graph with parameters (25, 16, 9; 3, 5), (28, 18, 11; 4, 7), \((33,24,17; 6,9)\), (35, 22, 12; 3, 5), (40, 30, 22; 7, 10) and (55, 34, 18; 3, 5). We run the program using the Gurobi solver [13] in Python on a single core of an Intel Xeon Platinum 8260 CPU (2.4 GHz) using 16 threads. To speed up the computations, we derive additional theoretical and computer-aided constraints regarding the structure of a potential strictly Neumaier graph for each specific parameter set.

Case 1. (25, 16, 9; 3, 5).

Suppose that \(\varGamma \) is a strictly Neumaier graph with parameters (25, 16, 9; 3, 5). We will use the following computer-aided result on the intersections of its regular cliques.

Lemma 9

Suppose that \(\varGamma \) is a Neumaier graph with parameters (25, 16, 9; 3, 5) and a pair of 5-cliques \(S_1\) and \(S_2\) such that \(|S_1\cap S_2| = 3\). Then \(\varGamma \) is strongly regular.

Proof

Let \(u\in S_1\cap S_2\). By assumption, \(\varGamma (u)\) contains two 4-cliques, \(S'_1\) and \(S'_2\), which are 2-regular within \(\varGamma (u)\) and intersect in two vertices. These two vertices both have nine neighbors in \(\varGamma (u)\) and hence six neighbors in \(\varGamma _2(u)\). It follows that they have at least four common neighbors in \(\varGamma _2(u)\); moreover they have at least five common neighbors in \(\varGamma (u)\cup \{u\}\), namely \(\{u\}\cup (S_{1}\triangle S_{2})\). Since they have nine common neighbors in total, they must have exactly five in \(\varGamma (u)\cup \{u\}\) and four in \(\varGamma _2(u)\). This leaves two vertices of \(\varGamma (u)\) which are adjacent to neither, but still have two neighbors in each clique. Therefore, they are both adjacent to all of \(S'_1\triangle S'_2\). Figure 17 shows the resulting partial neighborhood of u. We will adapt the vertex labeling in the figure for the remainder of the proof, hence we have \(S'_{1}=\{x_{5},x_{6},x_{10},x_{11}\}\) and \(S'_{2}=\{x_{6},x_{7},x_{11},x_{12}\}\).

Fig. 17
figure 17

Required edges in the neighborhood of vertex u

Vertices \(x_7\) and \(x_{12}\) both must be adjacent to two distinct vertices in \(\{x_1,\dots ,x_4\}\) and to two distinct vertices in \(\{x_{13},\dots ,x_{16}\}\), else \(S'_{2}\) would not be 2-regular or they would have at least five common neighbors with \(x_{6}\) or \(x_{11}\). Without loss of generality, we may assume \(x_7\sim x_3,x_4,x_{13},x_{14}\) and \(x_{12}\sim x_1,x_2,x_{15},x_{16}\). The same holds for \(x_5\) and \(x_{10}\). This leads to the four non-isomorphic graphs shown in Fig. 18.

Fig. 18
figure 18

The neighborhood of u must have one of these four non-isomorphic graphs as a subgraph

To complete each partial neighborhood, we apply a recursive brute-force procedure in Sage. For a given vertex \(x_i\) with degree less than nine, we compute the set S of potential neighbors. Vertices in S must have degree at most eight and have at most four common neighbors with \(x_i\) so far. If \(9-d_{x_i} > |S|\), no valid set of neighbors can be found for \(x_i\) and the algorithm returns to the previous iteration. Otherwise, it computes the orbits of all \((9-d_{x_i})\)-subsets of S under the automorphism group of the partial neighborhood. We choose one representative of each orbit, add the corresponding edges to a copy of the graph and recurse on each of these new partial neighborhoods.

After completing the potential neighborhoods of u, we apply the same idea to generate all possible edges between \(\varGamma (u)\) and \(\varGamma _2(u)\). For each vertex \(w\in \varGamma (u)\), we generate all possible sets of neighbors of w in \(\varGamma _2(u)\) and recurse on one representative of each orbit under the automorphism group of the partial graph we have constructed so far, pruning whenever edge-regularity is violated. We then apply a similar procedure to complete \(\varGamma _2(w)\). The results are summarized in Table 2, which shows how many options remain after applying each algorithm to the four graphs in Fig. 18. We see that only one Neumaier graph is found, which is isomorphic to the graph generated by the unique pair (up to isotopy) of mutually orthogonal \(5\times 5\) Latin squares. This graph is known to be strongly regular. \(\square \)

Table 2 The number of options left after applying each algorithm to the graphs in Fig. 18

The complement of \(\varGamma \) has parameters \((v,k',\mu ';e',s) = (25,8,2;2,5)\) and is not 3-edge-regular. Let C be the \(e'\)-regular coclique in this graph. Each of the ten pairs of vertices in C has two common neighbors in \(V\setminus C\). As \(|V\setminus C| = 20\) and every \(w\in V\setminus C\) has exactly two neighbors in C, this means that every pair of coclique vertices has two distinct common neighbors, and these sets of two vertices partition \(V\setminus C\). This fixes the edges into C up to symmetry. Moreover, two common neighbors corresponding to the same pair must be adjacent. If not, we could replace the pair with these neighbors and find a coclique intersecting C in three vertices. Then \(\overline{\varGamma }\) has two intersecting maximum cliques, which contradicts Lemma 9. Combined, these observations fix fifty of the hundred edges in \(\overline{\varGamma }\). This creates four orbits of (potentially) adjacent pairs of vertices. We run the ILP twice for each pair, once with constraint 16(k) and once with constraint 16(l). In all cases, the ILP does not have a solution, hence there is no strictly Neumaier graph with parameters (25, 16, 9; 3, 5).

Case 2. (28, 18, 11; 4, 7).

The complement of a strictly Neumaier graph with these parameters would have \(k'= 9\)\(\mu '= 3\) and \(e'= 3\). The 21 vertices outside the regular coclique C induce a 2-(7,3,3) design (possibly with repeated blocks) on the vertices in C, where every block corresponds to the set of neighbors of a vertex \(v\in V{\setminus } C\). There exist ten 2-(7,3,3) designs (with repeated blocks allowed) [5, Table II.1.20]. This gives us ten sets of fixed edges as input for the ILP. Moreover, we may discard constraints 16(j)–(l), since there exist no strongly regular graphs on these parameters. In all cases, the ILP has no solution.

Case 3. (33, 24, 17; 6, 9).

The complement of a strictly Neumaier graph with these parameters has \(k'= 8\)\(\mu '= 2\) and \(e'= 3\). Once again, there exist no strongly regular graphs on the given parameters, so we discard constraints 16(j)–(l) in the ILP. In the complement graph, the 24 vertices outside the regular coclique C induce a 2-(9,3,2) design (possibly with repeated blocks) on the vertices in C, where every block corresponds to the set of neighbors of a vertex \(v\in V\setminus C\). There exist 36 such designs up to isomorphism [5, Table II.1.23], and each of these gives rise to a set of fixed edges as input for the ILP. In all 36 cases, the ILP does not have a solution.

Case 4. (35, 22, 12; 3, 5) and (55, 34, 18; 3, 5).

Suppose there exists a strictly Neumaier graph with parameters \((35,22,12; 3,5)\). Then the complement graph is 12-regular, 3-co-edge-regular and has a 2-regular coclique of size 5. Since there exists no 12-regular strongly regular graphs on 35 vertices, we do not need to take into account the edge-regularity constraints in the ILP. Moreover, the 10 pairs of nonadjacent vertices in the coclique each have three common neighbors. Since the coclique is 2-regular, these ten sets of common neighbors partition the vertices outside the coclique. This means that, up to symmetry, there is only one possible configuration of edges between the coclique and the rest of the complement graph. There exist no strongly regular graphs on the given parameters, so we run the ILP without constraints 16(j)–(l). It has no solutions, hence there exist no strictly Neumaier graph with parameters (35, 22, 12; 3, 5).

The same approach can be used to eliminate (55, 34, 18; 3, 5), where the complement would be a 24-regular, 5-co-edge-regular graph. Again, there are ten pairs of coclique vertices and the sets of their common neighbors partition the vertices outside the coclique. This fixes the edges between the coclique and the rest of the complement graph up to isomorphism.

Both parameter sets fit the pattern \((10\mu +5,6\mu +4,3\mu +3;3,5)\) with \(\mu =3\) and \(\mu =5\) respectively. Moreover, the ILP solver terminates very quickly in both cases, despite the large number of vertices. This suggests that there may be an underlying theoretical reason why these graphs cannot exist for odd values of \(\mu \).

Case 5. (40, 30, 22; 7, 10).

The complement of a strictly Neumaier graph with these parameters has \(k'= 9\)\(\mu '= 2\) and \(e'= 3\). There again exist no strongly regular graphs on the given parameters. In the complement graph, the vertices outside the regular coclique C induce a 2-(10,3,2) design (possibly with repeated blocks) on the vertices in C, where every block corresponds to the set of neighbors of a vertex \(v\in V\setminus C\). There exist 960 such designs up to isomorphism [4, 8]. Each of these gives rise to a set of fixed edges as input for the ILP, none of which produce a Neumaier graph. On some inputs, the ILP terminates within several minutes, however, there are also some extreme cases which require several days. It therefore seems that we are reaching the boundary of what is possible with this method.

The results from this section are summarized in the following theorem.

Theorem 10

There exist no strictly Neumaier graphs with parameters \((25,16, 9; 3,5)\), (28, 18, 11; 4, 7), (33, 24, 17; 6, 9), (35, 22, 12; 3, 5), (40, 30, 22; 7, 10) and \((55,34,18; 3,5)\).