The Largest Pure Partial Planes of Order 6 Have Size 25

In this paper, we prove that the largest pure partial plane of order 6 has size 25. At the same time, we classify all pure partial planes of order 6 and size 25 up to isomorphism. Our major approach is computer search. The search space is very large so we use combinatorial arguments to rule out some of the cases. For the remaining cases, we subdivide each search by phases and use multiple checks to reduce search space via symmetry.


Introduction
The problem of the existence of finite projective planes attracted mathematicians' interest for hundreds of years. However, the problem of which orders are possible still remains open. People know that finite projective planes of order equal to prime powers exist, and no finite projective planes of order not equal to a prime power have been found. Therefore, some mathematicians have conjectured that finite projective planes can only have prime power orders. Some progress has been made. In 1938, Bose [3] proved that there is no projective plane of order 6 by relating the existence of a finite projective plane to the existence of a hyper-Graeco-Latin square, which is known as a set of orthogonal Latin squares in modern terminology. In 1949, Bruck and Ryser [4] proved that if the order n is congruent to 1 or 2 modulo 4 and n cannot be represented as the sum of two perfect squares, then there does not exist any finite projective planes of order n. This result is known as Bruck-Ryser theorem. By this famous combinatorial theorem, infinitely many cases are solved, but infinitely many cases remain.
After Bose's result and the Bruck-Ryser theorem, the smallest unsolved case was order n = 10. After some progress using binary codes [1], Lam, Thiel and Swiercz [9] proved the nonexistence of finite projective planes of order 10 with the help of supercomputers and a total of 2 to 3 years of running time.
Aside from finding more finite projective planes or proving their nonexistence, there are other interesting questions to ask. We already know that there is no finite projective planes of order 6, but how close can we come to constructing such a plane? In particular, what is the largest pure partial plane (see Definition 2) of order 6 we can construct? Paper [8] constructs a pure partial plane of order 6 related to an icosahedron and [13] constructs two pure partial planes of order 6 with 25 lines that extend the dual of the point-line incidence structure of the three-dimensional projective geometry P G (3,2). In [10], McCarthy et al. proved that there are no pure partial planes of order 6 and size 29 with very long combinatorial arguments. However, the exact maximum has not been given.
The study of pure partial planes also finds its importance in its dual form, where the roles of "points" and "lines" are reversed. In our case, the dual of pure partial planes (of order n) is a special class of finite linear space, with the additional requirement that every point is contained in exactly n + 1 lines. There is vast literature on finite linear spaces, following a famous result by de Bruijn and Erdős [5] that says in a finite linear space, the number of lines is at least the number of points, with equality occurring if and only if the space is either a near-pencil or a projective plane. In particular, further classification and inequality results are seen in [6] and [12] and Batten and Beutelspacher have written a book [2] on this subject.
In this paper, we prove that the maximum size of pure partial planes of order 6 is 25. In other words, a pure partial plane of order 6 contains at most 25 lines. To do this, we use computer search combined with combinatorial arguments. In Section 2, we define the notion of saturated pure partial planes and introduce some related and useful lemmas. In Section 3, we give our algorithmic strategy for computer search and in Section 4, we present our results. We also attach our code for readers to verify. A list of code that we provide is shown in Appendix 6.2. Finally, the proof of our main theorem comes in Section 5. All the pure partial planes of order 6 and size 25 are specified in Appendix 6.1.

Preliminaries
In this paper, a "point" means an element in a universe and a "line" means a subset of this universe, or equivalently, a set of "points". We will consider "points" and "lines" only in a set-theoretic view and won't discuss any finite geometry here. Definition 1. A finite projective plane (FPP) of order n, or a projective plane of order n, is a collection of n 2 + n + 1 points and n 2 + n + 1 lines, such that (1) every line contains n + 1 points; (2) every point is on n + 1 lines; the electronic journal of combinatorics 25(4) (2018), #P4.10 (3) every two distinct lines intersect at exactly one point; (4) every two distinct points lie on exactly one line.

Definition 2.
A pure partial plane (PPP) of order n and size s is a collection of n 2 +n+1 points and s lines, such that (1) every line contains n + 1 points; (2) every two distinct lines intersect at exactly one point.
In Definition 2, we say that there are n 2 + n + 1 points. Equivalently, we may require that there are at most n 2 + n + 1 points since some points may not appear in any of the lines.
Definition 3. We say that a pure partial plane is saturated if no lines can be added to it such that it still remains a pure partial plane. We use the abbreviation SPPP for saturated pure partial plane.
Definition 4. Two pure partial planes are isomorphic if there exists a bijection of their points and a bijection of their lines such that the point-in-line relation is preserved by these two bijections.
For the rest of the paper, we will consider two (saturated) pure partial planes to be the same if they are isomorphic. In other words, we only care about isomorphism classes.
For convenience, we make the following definition.
Definition 5. We say that two lines are compatible if they intersect at exactly one point and that two sets of lines are compatible if every line from one set is compatible with every line from the other set.
It is immediate that a finite projective plane is always a saturated pure partial plane of the same order, and is a largest one, in terms of the size. From now on, we will always use n for the order and s for the size. For convenience, we label all points as 0, 1, . . . , n 2 + n and represent straightforwardly a line as a set of cardinality n + 1, e.g., {0, 1, 2, 3, 4, 5, 6}. Lemma 6. For a saturated pure partial plane of order n, no points appear in exactly n lines.
the electronic journal of combinatorics 25(4) (2018), #P4.10 Lemma 7. For a pure partial plane of order n and size s, suppose that there are a k points that appear in k lines, for k = 0, 1, . . . . Then k ka k = (n + 1)s; k k 2 a k = s 2 + ns.
Proof. For each line i in this pure partial plane, with i = 1, . . . , s, associate a vector L i ∈ {0, 1} n 2 +n+1 with it, such that L i,j = 1 if point j appears in line i and equals 0 otherwise. Let v = L 1 + · · · + L s . The entries of v are just a permutation of m 0 , m 1 , . . . , m n 2 +n so the L 1 norm of v is ka k and at the same time, it is the sum of the L 1 norms of L i 's, giving us (n + 1)s.
At the same time, v · v = k 2 a k . By definition, L i · L j = 1 if i = j and L i · L j = n + 1 if i = j, so v · v = (n + 1)s + (s 2 − s) = s 2 + ns, as desired. Lemma 7 is a simple but useful lemma that has appeared in other forms in previous works. For example, [10] mentions essentially the same thing in Section 3 but in a different format.
Lemma 8. Suppose that {i 1 , i 2 , . . . , i n+1 } is a line in a pure partial plane of order n and size s, and suppose that point i k appears c i k times (i.e. lies in c i k lines). Then Proof. All the lines in this pure partial plane are either the line {i 1 , . . . , i n+1 } or contain exactly one of i 1 , . . . , i n+1 . Since i k appears c i k times, there are c i k − 1 lines that contain i k but not i j for all j = k with 1 j n + 1. Therefore, we have (c i 1 − 1) + (c i 2 − 1) + · · · + (c i n+1 − 1) + 1 = s and thus c i 1 + c i 2 + · · · + c i n+1 = s + n.
Theorem 9 and Theorem 10 below are not related to our main theorem. It is still good to have them in the sense that we want to understand the notion of "saturation" better.
Theorem 9. For any saturated pure partial plane of even order, there exists a point that appears in at least 3 lines.
Proof. Assume the opposite, that there exists an SPPP such that the order n is even and every point appears in at most 2 lines. By Lemma 7 and following its notation, we have a 1 + 2a 2 = (n + 1)s and a 1 + 4a 2 = s 2 + ns. This implies a 1 = s(n + 2 − s) and a 2 = s 2 −s 2 = s 2 . Since a 1 0, s n + 2. The case n = 2 follows directly from Lemma 6. Then we assume that n 4. Thus, as n 4. So a 0 n + 1, meaning that we have plenty of points to use. Suppose that points 0, 1, . . . , a 2 − 1 appear two times and points n 2 , n 2 + 1, . . . , n 2 + n do not appear. Label the lines as 1, 2, . . . , s.
Theorem 10. For each odd number n 3, there exists a saturated pure partial plane of order n such that no points appear in more than 2 lines.
Proof. The construction is straightforward. Draw n + 2 lines in R 2 such that no two are parallel and no three are concurrent. This gives us n+2 2 < n 2 + n + 1 intersection points and n + 2 lines, each passing through n + 1 points. Clearly it is a pure partial plane. If it is not saturated, then we should be able to find a subset of these intersection points, as well as some previously unused points, such that each previously existing line passes through exactly one of them. However, each intersection points appear in exactly 2 lines and each previously unused points appear in exactly 0 lines, while there are n + 2 previously existing lines. Because n + 2 is odd, such a set cannot be found. Therefore, this construction indeed provides an SPPP as desired.
An example is given in Figure 1. The problem of testing isomorphism between pure partial planes can be reduced to the problem of graph isomorphism.
Definition 11. For a pure partial plane of order n and size s, define its point-lineadjacency graph to be an undirected simple bipartite graph with n 2 + n + 1 + s vertices, representing all points and lines, where a vertex representing a line is connected to a vertex representing a point if and only if the line contains the point. Notice that in the definition, we allow some vertices to have degree 0, although this detail is negligible.
Theorem 12. Two pure partial planes of the same order that are not finite projective planes are isomorphic if and only if their point-line-adjacency graphs are isomorphic.
Proof. If two pure partial planes are isomorphic, then their point-line-adjacency graphs are clearly isomorphic. Conversely, let A and B be two pure partial planes of the same order with point-line-adjacency graph G. First, by the number of vertices of G, we know that A and B have the same size s. Then, excluding isolated vertices (vertices of degree 0), G becomes a connected bipartite graph since each two lines intersect at one point. Thus, we only need to make sure that no automorphism of G sends vertices representing points in G to vertices representing lines in G. For that to happen, all points in A that appear must appear n + 1 times since all lines in B contain n + 1 points. So the number of points that appear is (n + 1) · s/(n + 1) = s.
Remark 13. Once we have reduced to the case where our pure partial planes have s points and s lines, the dual form of a theorem by de Bruijn and Erdős [5] that says in a finite linear space, the number of lines is at least the number of points, with equality iff the space is a near-pencil or a projective plane, can be used to finish off the proof easily. The proof we presented here uses special properties of pure partial planes that avoid heavier machinery.
Remark 14. Theorem 12 fails when we consider two finite projective planes that are not self-dual. Examples include Hall planes [7].
By Theorem 12, we are able to transform the problem of testing isomorphism between saturated pure partial planes into graph isomorphism. Therefore, we can then use the fastest available code for graph isomorphism, nauty and Traces [11], to do so.

Algorithmic Strategy
From now on, we will use computer search to find saturated pure partial planes. In this section, we will present a strategy for searching. Our approach is highly adjustable with many conditions underspecified. In the next section, we will go into details about specific cases and will specify the conditions that are not yet determined.
We start with a certain pure partial plane, which we call a starting configuration. By brute force, we then generate a list of lines for us to choose from, which we call a starting list, that are compatible with this starting configuration. Using the starting configuration the electronic journal of combinatorics 25(4) (2018), #P4.10 and this list of lines, we do a depth first search, adding line by line to this starting configuration from the list and removing incompatible lines from the list until the list becomes empty. Whenever we get a saturated pure partial plane (the corresponding list of compatible lines is empty), we check if it is isomorphic to any of the saturated pure partial planes we already have by Theorem 12 and nauty and Traces [11]. If not, we record this saturated pure partial plane.
The basic strategy is depth first search (DFS), as shown in Algorithm 1 below. In the following diagram, there are steps that are not specified since we use different implementations for different purposes, including Step 2, Step 3 and Step 10. We will also explain them below. for each line L in rl 0 do 8: Construct rl 1 from rl 0 by selecting the lines that intersect with L at exactly one point 10: if ppp 1 passes all the checks then This paradigm is very straightforward and simple. However, the search space is usually very large, so we need methods to cut down some symmetric cases beforehand.
In Step 2, the certain terminating properties is usually implemented as checking if rl 0 is empty. We will assume so if not specified.
Step 10 is the main step in which we eliminate symmetric cases. In this step, we will typically check the following properties of ppp 1 : 1. If point i has appeared in this pure partial plane, then point i − 1 must also appear in this pure partial plane, for i = 1, 2, . . . , n 2 + n. 3. The number of times that certain points appear should not exceed certain values. These parameters will be specified in Section 4 where we are using this algorithm.

Check 1 above in
Step 10 is not always useful. When n = 6, the cases we are dealing with usually have one point that appears 7 times, meaning that in the starting configuration, all points have already appeared.
Check 2 above in Step 10 can also be implemented by ensuring that after adding the new line to the pure partial plane, we discard all lines from the list of compatible lines that are lexicographically greater than this new line.
Check 3 above in Step 10 is the most important one. Typically, we will divide into cases according to how often certain points appear. Here, we check that if the number of appearance of such points in ppp 1 has already exceeded our assumption.
Requiring some properties of ppp 0 in Step 3 usually helps us reduce the number of isomorphism tests. For example, if in our starting configuration, points 3, 4, 5, 6 are symmetric, then we can require that in ppp 0 the number of times that 3, 4, 5, 6 appear forms a non-decreasing sequence. In this way, some isomorphic cases will be quickly discarded.

Search Results
Our goal is to prove that all possible pure partial planes of order 6 have size at most 25 and to determine all pure partial planes of order 6 and size 25. Following our previous notations, let a i be the number of points that appear exactly i times. We will only consider saturated pure partial planes, in order to use Lemma 6 and get that a 6 = 0, meaning that no points can appear exactly 6 times. Intuitively, if we want our SPPPs to have large sizes, we need to have the points appear as many times as possible. So as an overview, we will search for the cases where a 7 2 and also the cases where a 5 is sufficiently large. In the next section (Section 5), we will give a proof showing that all possible SPPPs with size at least 25 are already covered in our search. And at that point, it will be clear why we discuss these cases.
In this section, we will consider five cases, each specified in a subsection. For each of them, we will use the algorithm given in Section 3 in multiple phases. In each phase, the inputs are some pure partial planes regarded as starting configurations and the outputs are some bigger pure partial planes, which will be used as starting configurations for the next phase. Intuitively, using multiple phases instead of one will reduce search time since some symmetric cases can be cut off when they have not grown very big. Essentially, searching for pure partial planes in multiple phases is like doing breadth first search. Since we do isomorphism testings after each phase, the idea of combining breadth first search into the depth first search backbone can speed up the search. However, we want the number of phases to be small because breadth first search may consume too much space. For convenience, we will assume that {0, 1, 2, 3, 4, 5, 6} is the first line in our starting configuration (except in the last case). Also, whenever we talk about a particular "Step", we are referring to our algorithmic strategy in Section 3.
We provide a list of programs for readers to verify (Appendix 6.1).

At least 3 points appear 7 times
First, 0 appears 7 times. Assume that these 7 lines are {0, 6k + 1, 6k + 2, . . . , 6k + 6} where k = 0, 1, . . . , 6. At this stage, all other points are equivalent under the symmetric group so we can safely assume that 1 appears 7 times, too. Let the next 6 lines be {1, k + 7, k + 13, k + 19, k + 25, k + 31, k + 37} where k = 0, 1, . . . , 5. It is also clear that the choice of these 6 lines is unique. Now that we have 13 lines in our starting configuration, we need to subdivide this case. For the third point that appears 7 times, it may be a point that appear in the same line with both 0 and 1, i.e., 2, 3, 4, 5, 6 or other points. We divide this case into two subcases, namely, where 2 appears 7 times and where 7 appears 7 times. Notice that in both cases, we can add one more line {2, 7, 14, 21, 28, 35, 42} into the collection using symmetry.

Phase 1
We use our program with starting configuration being this 14-line pure partial plane, and the starting list being all lines that start with point 2 and are compatible with the starting configuration. In Step 2 (described in Section 3), we simply require that point 2 appears 7 times or equivalently, the size of ppp 0 is 19. In Step 3, we do nothing and in Step 10, we only do check 2, which checks the lexicographical order.
Running the program gives us a total of 12 nonisomorphic pure partial planes of size 19, where 0,1,2 appear 7 times. These starting configurations are shown in file "case1-1-phase1.txt".

Phase 2
Then we treat these 12 pure partial planes as starting configurations and run our program again, with the starting list being all lines that are compatible with the starting configuration. The search space is pretty small in this case so we do not actually need many checks. The only check we implemented here is the check of lexicographical order in Step 10. In Step 2, we require the list of lines rl 0 to be empty. These 12 starting configurations provide 36 nonisomorphic saturated pure partial planes. The results are shown in file "case1-1-phase2(SPPP).txt". Among these results, the maximum size is 25 and there are 3 SPPPs that achieve 25.

Phase 1
We use our program with starting configuration begin the 14-line pure partial plane described above, and the starting list being all lines with point 7 and compatible with the starting configuration. Similarly, in Step 2, we require that point 7 must appear exactly 7 times, or equivalently, the size of ppp 0 is 18. And in Step 10, we only do check 2, which checks the lexicographical order.

Phase 2
Then we use these 2 pure partial planes as starting configurations to get saturated pure partial planes using our program. In Step 10, we require that points 2, 3,4,5,6,8,9,10,11,12,13,19,25,31,37 can appear at most 5 times. Otherwise, if one of them appears at least 6 times, by Lemma 6, it must appear 7 times in the corresponding saturated pure partial planes and we are then back to the previous case where 0,1,2 appear 7 times.
We find that there are 30 SPPPs while none of these can achieve size 25. The results are shown in "case1-2-phase2(SPPP).txt".
We use the program for this 14-line starting configuration and with the starting list being the list of all possible lines that are compatible with the starting configuration. In Step 3, we require that c 3 c 4 c 5 c 6 , where c i is the number of times that i appears. This requirement is valid because in our starting configuration, points 3,4,5,6 are equivalent under the symmetric group. In Step 10, we check the lexicographical order as usual and we also require that all points except 0,1 must appear at most 5 times, by Lemma 6.

Exactly one point, 0, appears 7 times; 1,2,3 appear 5 times and 4 appears at least 4 times
The reason that we do not do the case where exactly one point appears 7 times is largeness of our search space. Therefore, we restrict our attention to the case that one point appears 7 times while many points appear 5 times. As before, {0, 1, 2, 3, 4, 5, 6} is a line in our starting configuration. We have only two phases while the second phase has little work to do.
We use our program for this 12-line starting configuration with the starting list being the list of all possible lines that start with one of 2, 3, 4 and are compatible with the starting configuration. In Step 2, we no longer require rl 0 to be empty; instead, we check that if c 2 = c 3 = 5 and c 4 = 4, where c i is the number of times that i appears in ppp 0 . Equivalently, this is to say that the size of ppp 0 is 22 by Lemma 8 used on the first line. In Step 10, we check the lexicographical order as usual and also make sure that no point except 1 can appear more than 5 times. The result from the program is 26 pure partial planes of size 22, presented in "case4-phase1.txt".

Phase 2
The second phase is simply extending these pure partial planes to saturation. It turns out that some of them are already saturated and the others can be made saturated by appending one line. We get 23 pure partial planes of size 22 or 23 in total, presented in "case4-phase2(SPPP).txt".

Points 0,1,2,3,4 appear 5 times each
Recall that we require {0, 1, 2, 3, 4, 5, 6} to be our first line. Importantly, in this case, we do not actually require that no points appear 7 times, but rather, we require that point 0,1,2,3,4 appear exactly 5 times each. We will see from the results that actually no points can appear more than 5 times in all the saturated pure partial planes we get in the end.

Phase 1
As before, we can determine the first 9 lines uniquely. They are as follows In this phase, we add two lines that start at point 2 to this 9-line starting configuration. Namely, we use our program with the starting list being all possible lines that include point 2 and are compatible with the 9-line starting configuration shown above. And in Step 2, we require the size of ppp 0 to be 11. In this way, we get 29 pure partial planes with size 11, used as starting configurations for our next phase. These starting configurations are presented in file "case4-phase1.txt".

Phase 2
For each of the starting configuration with size 11 we just obtained, we use the program with the starting list being all possible lines that start at point 2,3,4 and are compatible with the starting configuration with 11 lines. In Step 10, we make sure that 2,3,4 appear at most 5 times. And in Step 2, we require point 2,3,4 to appear exactly five times. In the electronic journal of combinatorics 25(4) (2018), #P4.10 this phase, we get 30 pure partial planes with size 21. They are shown in file "case4-phase2.txt".

Phase 3
For each of the 21-line starting configurations, we run our program with the starting list being all possible lines that are compatible with the starting configuration. In Step 10, we make sure that no point can appear more than 5 times and in Step 2, we require that the list rl 0 is empty, meaning that we require the pure partial plane to be saturated. Interestingly, 18 of these 21-line starting configurations are already saturated and the rest of them cannot be made saturated without letting one of point 0,1,2,3,4 appear 7 times. All possible saturated pure partial planes in this case are shown in file "case4-phase3(SPPP).txt". For this case, we will need a different isomorphism testing function in order to differentiate between a point that appears 5 times and a point that appears 4 time. To do this, we simply add another vertex to our point-line-adjacency graphs (Definition 11), connect vertices 0, 1, . . . , 14 to it and use graph isomorphism testing for the new graphs. Notice that this different isomorphism testing function is used solely for this case.
The first 5 lines starting at 0 can be uniquely determined.

Phase 1
With these two possible starting configurations, we add 4 lines to them that start with 1. We run our program (separately for these two starting configurations) with all lines that start at 1, contain three points from {1, . . . , 14} and four points from {15, . . . , 39} and are compatible with the starting configuration. In Step 2, we check that ppp 0 has size 9. Here, we get a total of 13 pure partial planes of size 9, presented in "case5-phase1.txt".

Phase 2
This phase exists because we want to save some running time. We add just 1 compatible line that starts at 2 to the starting configurations. Then we get a total of 620 pure partial planes of size 10, shown in "case5-phase2.txt".

Phase 3
We run our program with all lines that are compatible with the starting configuration, contain three points from {2, . . . , 14} and four points from {15, . . . , 39}. In Step 10, we make sure that points 2, . . . , 14 never appear more than 5 times and points 15, . . . , 39 never appear more than 4 times. In Step 2, we check that if our pure partial plane has size 25. Finally, we get a single pure partial plane of size 25, shown in "case5-phase3(SPPP).txt". In fact, it must be saturated and we will explain this in the next section.

Summary
For all these 5 cases described above, we find no pure partial planes of size 26 or greater. We find a total of 4 pure partial planes of size 25: three from Section 4.1.1 and one from Section 4.5. We will list all of them in Appendix 6.1 for clarity.

Main Theorem
Theorem 15. The maximum size of a pure partial plane of order 6 is 25. Furthermore, all pure partial planes of size 25 are listed in Appendix 6.1.
Proof. Essentially, we want to show that there are no pure partial planes of size 25 or greater outside our search. To do this, we restrict our attention to saturated pure partial planes instead of pure partial planes in general because we want to use Lemma 6.
Assume that there exists a saturated pure partial plane A of size s with s 25. Specifically, assume that A is a saturated pure partial plane that is not mentioned in our search in Section 4. Define a i to be the number of points that appear i times in A. Since we have already searched all possible cases for a 7 2 (Section 4), now we assume that a 7 1. Use c i to denote the number of times that point i appears in A. In other words, c i is the number of lines in A that contain point i.
Notice that according to Lemma 6, a 6 = 0 so we ignore this term.
In the above two equations, we subtract 5 times the first one from the second one, in order to get rid of a 5 , which is potentially the largest term. We then divide this equation by 2. Together with the first equation, we have 7a 7 + 5a 5 + 4a 4 + 3a 3 + 2a 2 + a 1 = 7s, the electronic journal of combinatorics 25(4) (2018), #P4.10 Case 1: a 7 = 0 and s 26. For any line {i 1 , . . . , i 7 } of A, according to Lemma 8, we have c i 1 +· · ·+c i 7 = s+6 32. The equation a 7 = 0 means that c i k 5 for k = 1, . . . , 7. Also, according to the search result from Section 4.4, we have already covered the cases where there are at least 5 points that appear 5 times in a line. So we know that at most 4 of c i 1 , . . . , c i 7 can be 5. Then s + 6 5 + 5 + 5 + 5 + 4 + 4 + 4 so s 26. There is only one possibility now: s = 26, 4 of c i 1 , . . . , c i 7 equal 5 and the other 3 equal 4. In other words, a k > 0 only when k = 4, 5.
If a 1 = 0, without loss of generality, we assume that point 6 appears 1 time, meaning c 6 = 1. According to Lemma 8, c 0 + c 1 + · · · + c 6 = s + 6 31. So c 1 + c 2 + c 3 + c 4 + c 5 23 with c i 5 for i = 1, . . . , 5. Therefore, either at least four of c 1 , c 2 , c 3 , c 4 , c 5 have value 5 or at least three of them have value 5 and a fourth one have value at least 4. These situations is covered in our computer search in Section 4.3. So we then assume that a 1 = 0.
If a 2 = 0, assume that point 6 appears in two lines. At least one of these two lines won't contain point 0 since they intersect at point 6 already. Suppose that this line is 6, j 1 , j 2 , . . . , j 6 . Then by Lemma 8, c 6 + c j 1 + · · · + c j 6 31. Since c 6 = 2 and c j i 5 for i = 1, . . . , 6, at least five of c j 1 , . . . , c j 6 must be 5. This situation is covered in our computer search in Section 4.4. So we then assume that a 2 = 0.
If we simplify equations (1) and (2), then together with the new equation, we now have 5a 5 + 4a 4 + 3a 3 = 7s − 7, Here is a list of all (saturated) pure partial planes of order 6 and size 25, up to isomorphism. In addition, we provide the size of the automorphism group of each. Size of the automorphism group is 360.

List of Files
Here is a list of all the files that we provide for the project. The case number of each file corresponds directly to the subsection number under Section 4, so we won't give redundant references in the table. For each program, the "input file" name is already written in the code. Each program will directly print the result that is supposed to be the same as what is written in the "output file". The run time approximation is rough and serves as an upper bound. We also provide a file testcases.sh to automatically test that the output files we provided are correct. The run time of testcases.sh is supposed to be the sum of run times listed below. Readers should refer to README.txt for more details.