The whole source code is contained in "segments.c". Before compiling the code, you can choose the type of the arrangement expected on the input as a macro constant CASE_KL, the (two) possible values are 24 for a (2,4)-arrangement and 42 for a (4,2)-arrangement. The program reads the description of the arrangement from the file "input_24.txt" or "input_42.txt", respectively. These files already contain an encoding of the arrangements constructed in the paper. The format of the files should be self-explanatory; on each line (except of the four headlines), the first number is the degree of the polynomial, the remaining numbers are coefficients of the polynomial starting from the absolute term. Zero polynomial has degree -1 so no coefficients are needed.
The program determines whether the intersection graph of the arrangement given on the input is equal to the prescribed graph from the proof of Lemma 3. The results are written into standard output. The program also outputs into "mathpoly.txt" a "more mathematical" representation of the given polynomials, similar to the Table 1 or 2 in the paper (except using "x" instead of "epsilon").
You can download all the files in a single archive:
segments.zip
or one by one:
segments.c
input_24.txt
input_42.txt