Let's translate the problem into the language of graphs.
Given a bipartite graph G with parts A and B having the same number of vertices: ∣V(A)∣=∣V(B)∣=k. The degree of each vertex in B is n. For any two vertices u,v of the part A, there are exactly two vertices in B that are adjacent to both vertices u and v.
a) Prove that the degree of any vertex in A is also equal to n.
b) Prove that there is a simple path in the graph that contains at least ⌊4(n+1)2⌋ vertices in each part.
First, let's prove that k=(2n)+1 and that the degree of each vertex in A is equal to n.
Let's count the number of pairs ({a,a′},b) where a=a′, a,a′∈V(A), b∈V(B) and b is adjacent to a and a′. On the one hand, we have ∣V(B)∣ ways to select b and each such vertex gives (2n) pairs a,a′ to which it is adjacent. On the other hand, there are (2∣V(A)∣) ways to select distinct a and a′, and further, for each pair, there are exactly two ways to select b, according to the second property of our graph. Thus, (2n)k=2(2k), which implies that k=(2n)+1.
Let's take an arbitrary vertex a from A and let it have degree d. Let us count in two ways the number of pairs (a′,b) where a′∈V(A), b∈V(B), a′=a and vertex b is adjacent to both vertices a and a′. On the one hand, we have ∣V(A)∣−1 options to choose a vertex a′ and for each such vertex we have exactly two choices of a vertex b. On the other hand, each of the d neighbors of a vertex a has degree exactly n, which gives (n−1)d pairs in question (the neighbors of a given vertex from V(B) must be different from a, so there are n−1 of them). Thus (n−1)d=2(k−1)=2(2n), which means that d=n.
Now let's move on to finding a path. Since the graph is regular, then by Hall's theorem there is a perfect matching in it – a set of k pairwise non-adjacent edges. Let I be such a matching. Let us take the longest such path P=b1a1,…,brar, where b1∈V(B) and ar∈V(A), with the following property:
if a vertex x is in P, then the vertex y adjacent to x in the matching I is also in P.
(Note that this condition does not require that edges from I also be in our simple path.) Then all neighbors of the ends of P lie in P. In fact, if one of the ends of P has a neighbor outside P, then the neighbor of this vertex in I is also not in our path and then we can extend our path by two vertices so that it starts and ends at different shares.
Let now bi (1≤i≤r) be one of the neighbors of a vertex ak in path P. Then the path
b1a1…biarbrar−1…ai
also has the above property. In particular, all neighbors of the vertex ai∈V(A) also lie in P. Since ar has n neighbors, we have a minimum of n vertices ai1,…,ain from A each of which has neighbors only in the path P. Since vertices ai1 and ai2 have exactly two neighbors in common, they have a total of n+(n−2) neighbors in P. Next, consider the vertex ai3 – it has two common neighbors with each of the previous vertices, that is, a maximum of 4 common neighbors have already been counted. This gives n−4 new neighbors different from the previous ones. Reasoning in this way, we get
r≥n+(n−2)+(n−4)+⋯=⌊4(n+1)2⌋,
which is what was required.