Split pythagorean triples into two sets
J, 37 bytes
Brute forces through the possible sets, outputs the bit mask.
((-&amp;.#.+./@,)[(e.~+/~)/.*:@#\)^:_@#&amp;1

Try it online! (Also outputs list as numbers for easier comparison.)
How it works
((-&amp;.#.+./@,)[(e.~+/~)/.*:@#\)^:_@#&amp;1
                                  #&amp;1 convert to list of N 1's
(                            )^:_     do until list does not change
                        *:@#\         right: convert to 1,4,9…,N^2
             [                        left: the bit mask
                      /.              partition left based on right, for each set:
                  +/~                 make M*M addition table
               e.~                    any element of that in the same set?
       +./@,                          OR all answers: 1 on conflict, 0 if finished
  -&amp;.#.                               list: from base 2, subtract that^, to base 2