gf(2) Berlekamp Algorithm

If possible, factor polynomial, including at least one irreducible factor.

f = b0110011001110111111000100000000101000110010100001000111110110111
f = 0x6677e20146508fb7
f = x62 + x61 + x58 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x47 + x46 + x45 + x41 + x32 + x30 + x26 + x25 + x22 + x20 + x15 + x11 + x10 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1

Calculate vn = x2n (mod f) for n=0 to 62

v0 = x0 (mod f)
v0 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
v0 = 0x00000000000000000000000000000001
v0 = 1

v1 = x2 (mod f)
v1 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100
v1 = 0x00000000000000000000000000000004
v1 = x2

v2 = x4 (mod f)
v2 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000
v2 = 0x00000000000000000000000000000010
v2 = x4

v3 = x6 (mod f)
v3 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000
v3 = 0x00000000000000000000000000000040
v3 = x6

v4 = x8 (mod f)
v4 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000
v4 = 0x00000000000000000000000000000100
v4 = x8

v5 = x10 (mod f)
v5 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000
v5 = 0x00000000000000000000000000000400
v5 = x10

v6 = x12 (mod f)
v6 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000
v6 = 0x00000000000000000000000000001000
v6 = x12

v7 = x14 (mod f)
v7 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000
v7 = 0x00000000000000000000000000004000
v7 = x14

v8 = x16 (mod f)
v8 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000
v8 = 0x00000000000000000000000000010000
v8 = x16

v9 = x18 (mod f)
v9 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000
v9 = 0x00000000000000000000000000040000
v9 = x18

v10 = x20 (mod f)
v10 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000
v10 = 0x00000000000000000000000000100000
v10 = x20

v11 = x22 (mod f)
v11 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000
v11 = 0x00000000000000000000000000400000
v11 = x22

v12 = x24 (mod f)
v12 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000
v12 = 0x00000000000000000000000001000000
v12 = x24

v13 = x26 (mod f)
v13 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000
v13 = 0x00000000000000000000000004000000
v13 = x26

v14 = x28 (mod f)
v14 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000
v14 = 0x00000000000000000000000010000000
v14 = x28

v15 = x30 (mod f)
v15 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000
v15 = 0x00000000000000000000000040000000
v15 = x30

v16 = x32 (mod f)
v16 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000
v16 = 0x00000000000000000000000100000000
v16 = x32

v17 = x34 (mod f)
v17 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000
v17 = 0x00000000000000000000000400000000
v17 = x34

v18 = x36 (mod f)
v18 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000
v18 = 0x00000000000000000000001000000000
v18 = x36

v19 = x38 (mod f)
v19 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000
v19 = 0x00000000000000000000004000000000
v19 = x38

v20 = x40 (mod f)
v20 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000
v20 = 0x00000000000000000000010000000000
v20 = x40

v21 = x42 (mod f)
v21 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000
v21 = 0x00000000000000000000040000000000
v21 = x42

v22 = x44 (mod f)
v22 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000
v22 = 0x00000000000000000000100000000000
v22 = x44

v23 = x46 (mod f)
v23 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000
v23 = 0x00000000000000000000400000000000
v23 = x46

v24 = x48 (mod f)
v24 = b00000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000
v24 = 0x00000000000000000001000000000000
v24 = x48

v25 = x50 (mod f)
v25 = b00000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000
v25 = 0x00000000000000000004000000000000
v25 = x50

v26 = x52 (mod f)
v26 = b00000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000
v26 = 0x00000000000000000010000000000000
v26 = x52

v27 = x54 (mod f)
v27 = b00000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000
v27 = 0x00000000000000000040000000000000
v27 = x54

v28 = x56 (mod f)
v28 = b00000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000
v28 = 0x00000000000000000100000000000000
v28 = x56

v29 = x58 (mod f)
v29 = b00000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000
v29 = 0x00000000000000000400000000000000
v29 = x58

v30 = x60 (mod f)
v30 = b00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000
v30 = 0x00000000000000001000000000000000
v30 = x60

v31 = x62 (mod f)
v31 = b00000000000000000000000000000000000000000000000000000000000000000010011001110111111000100000000101000110010100001000111110110111
v31 = 0x00000000000000002677e20146508fb7
v31 = x61 + x58 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x47 + x46 + x45 + x41 + x32 + x30 + x26 + x25 + x22 + x20 + x15 + x11 + x10 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1

v32 = x64 (mod f)
v32 = b00000000000000000000000000000000000000000000000000000000000000000011001101000111101011100000011011010011101100111010111000000101
v32 = 0x00000000000000003347ae06d3b3ae05
v32 = x61 + x60 + x57 + x56 + x54 + x50 + x49 + x48 + x47 + x45 + x43 + x42 + x41 + x34 + x33 + x31 + x30 + x28 + x25 + x24 + x23 + x21 + x20 + x17 + x16 + x15 + x13 + x11 + x10 + x9 + x2 + 1

v33 = x66 (mod f)
v33 = b00000000000000000000000000000000000000000000000000000000000000000000000111110001011111000001100111000010011011111010011101111010
v33 = 0x000000000000000001f17c19c26fa77a
v33 = x56 + x55 + x54 + x53 + x52 + x48 + x46 + x45 + x44 + x43 + x42 + x36 + x35 + x32 + x31 + x30 + x25 + x22 + x21 + x19 + x18 + x17 + x16 + x15 + x13 + x10 + x9 + x8 + x6 + x5 + x4 + x3 + x

v34 = x68 (mod f)
v34 = b00000000000000000000000000000000000000000000000000000000000000000000011111000101111100000110011100001001101111101001110111101000
v34 = 0x000000000000000007c5f06709be9de8
v34 = x58 + x57 + x56 + x55 + x54 + x50 + x48 + x47 + x46 + x45 + x44 + x38 + x37 + x34 + x33 + x32 + x27 + x24 + x23 + x21 + x20 + x19 + x18 + x17 + x15 + x12 + x11 + x10 + x8 + x7 + x6 + x5 + x3

v35 = x70 (mod f)
v35 = b00000000000000000000000000000000000000000000000000000000000000000001111100010111110000011001110000100110111110100111011110100000
v35 = 0x00000000000000001f17c19c26fa77a0
v35 = x60 + x59 + x58 + x57 + x56 + x52 + x50 + x49 + x48 + x47 + x46 + x40 + x39 + x36 + x35 + x34 + x29 + x26 + x25 + x23 + x22 + x21 + x20 + x19 + x17 + x14 + x13 + x12 + x10 + x9 + x8 + x7 + x5

v36 = x72 (mod f)
v36 = b00000000000000000000000000000000000000000000000000000000000000000001101000101000111001000111000111011101101110010101000100110111
v36 = 0x00000000000000001a28e471ddb95137
v36 = x60 + x59 + x57 + x53 + x51 + x47 + x46 + x45 + x42 + x38 + x37 + x36 + x32 + x31 + x30 + x28 + x27 + x26 + x24 + x23 + x21 + x20 + x19 + x16 + x14 + x12 + x8 + x5 + x4 + x2 + x + 1

v37 = x74 (mod f)
v37 = b00000000000000000000000000000000000000000000000000000000000000000000111011010100011100111100011000110000101101011100101101101011
v37 = 0x00000000000000000ed473c630b5cb6b
v37 = x59 + x58 + x57 + x55 + x54 + x52 + x50 + x46 + x45 + x44 + x41 + x40 + x39 + x38 + x34 + x33 + x29 + x28 + x23 + x21 + x20 + x18 + x16 + x15 + x14 + x11 + x9 + x8 + x6 + x5 + x3 + x + 1

v38 = x76 (mod f)
v38 = b00000000000000000000000000000000000000000000000000000000000000000011101101010001110011110001100011000010110101110010110110101100
v38 = 0x00000000000000003b51cf18c2d72dac
v38 = x61 + x60 + x59 + x57 + x56 + x54 + x52 + x48 + x47 + x46 + x43 + x42 + x41 + x40 + x36 + x35 + x31 + x30 + x25 + x23 + x22 + x20 + x18 + x17 + x16 + x13 + x11 + x10 + x8 + x7 + x5 + x3 + x2

v39 = x78 (mod f)
v39 = b00000000000000000000000000000000000000000000000000000000000000000010000110101000111110000110000110000111111111011010100111011110
v39 = 0x000000000000000021a8f86187fda9de
v39 = x61 + x56 + x55 + x53 + x51 + x47 + x46 + x45 + x44 + x43 + x38 + x37 + x32 + x31 + x26 + x25 + x24 + x23 + x22 + x21 + x20 + x19 + x18 + x16 + x15 + x13 + x11 + x8 + x7 + x6 + x4 + x3 + x2 + x

v40 = x80 (mod f)
v40 = b00000000000000000000000000000000000000000000000000000000000000000010110000111011110001111000010111010101000001110011011110100001
v40 = 0x00000000000000002c3bc785d50737a1
v40 = x61 + x59 + x58 + x53 + x52 + x51 + x49 + x48 + x47 + x46 + x42 + x41 + x40 + x39 + x34 + x32 + x31 + x30 + x28 + x26 + x24 + x18 + x17 + x16 + x13 + x12 + x10 + x9 + x8 + x7 + x5 + 1

v41 = x82 (mod f)
v41 = b00000000000000000000000000000000000000000000000000000000000000000001101001110111001110000001010010011110111011010100111001011101
v41 = 0x00000000000000001a7738149eed4e5d
v41 = x60 + x59 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x45 + x44 + x43 + x36 + x34 + x31 + x28 + x27 + x26 + x25 + x23 + x22 + x21 + x19 + x18 + x16 + x14 + x11 + x10 + x9 + x6 + x4 + x3 + x2 + 1

v42 = x84 (mod f)
v42 = b00000000000000000000000000000000000000000000000000000000000000000000111110101011000000100101001100111101111001011011011011000011
v42 = 0x00000000000000000fab02533de5b6c3
v42 = x59 + x58 + x57 + x56 + x55 + x53 + x51 + x49 + x48 + x41 + x38 + x36 + x33 + x32 + x29 + x28 + x27 + x26 + x24 + x23 + x22 + x21 + x18 + x16 + x15 + x13 + x12 + x10 + x9 + x7 + x6 + x + 1

v43 = x86 (mod f)
v43 = b00000000000000000000000000000000000000000000000000000000000000000011111010101100000010010100110011110111100101101101101100001100
v43 = 0x00000000000000003eac094cf796db0c
v43 = x61 + x60 + x59 + x58 + x57 + x55 + x53 + x51 + x50 + x43 + x40 + x38 + x35 + x34 + x31 + x30 + x29 + x28 + x26 + x25 + x24 + x23 + x20 + x18 + x17 + x15 + x14 + x12 + x11 + x9 + x8 + x3 + x2

v44 = x88 (mod f)
v44 = b00000000000000000000000000000000000000000000000000000000000000000011011001011111111000010011000101010010111110100111001101011110
v44 = 0x0000000000000000365fe13152fa735e
v44 = x61 + x60 + x58 + x57 + x54 + x52 + x51 + x50 + x49 + x48 + x47 + x46 + x45 + x40 + x37 + x36 + x32 + x30 + x28 + x25 + x23 + x22 + x21 + x20 + x19 + x17 + x14 + x13 + x12 + x9 + x8 + x6 + x4 + x3 + x2 + x

v45 = x90 (mod f)
v45 = b00000000000000000000000000000000000000000000000000000000000000000001010110010000010000001100011111000111010010001101001000010110
v45 = 0x0000000000000000159040c7c748d216
v45 = x60 + x58 + x56 + x55 + x52 + x46 + x39 + x38 + x34 + x33 + x32 + x31 + x30 + x26 + x25 + x24 + x22 + x19 + x15 + x14 + x12 + x9 + x4 + x2 + x

v46 = x92 (mod f)
v46 = b00000000000000000000000000000000000000000000000000000000000000000011000000110110111000010001111001011011011100111100011111101111
v46 = 0x00000000000000003036e11e5b73c7ef
v46 = x61 + x60 + x53 + x52 + x50 + x49 + x47 + x46 + x45 + x40 + x36 + x35 + x34 + x33 + x30 + x28 + x27 + x25 + x24 + x22 + x21 + x20 + x17 + x16 + x15 + x14 + x10 + x9 + x8 + x7 + x6 + x5 + x3 + x2 + x + 1

v47 = x94 (mod f)
v47 = b00000000000000000000000000000000000000000000000000000000000000000000110000110100010000000111101111100001011011100000000011010010
v47 = 0x00000000000000000c34407be16e00d2
v47 = x59 + x58 + x53 + x52 + x50 + x46 + x38 + x37 + x36 + x35 + x33 + x32 + x31 + x30 + x29 + x24 + x22 + x21 + x19 + x18 + x17 + x7 + x6 + x4 + x

v48 = x96 (mod f)
v48 = b00000000000000000000000000000000000000000000000000000000000000000011000011010001000000011110111110000101101110000000001101001000
v48 = 0x000000000000000030d101ef85b80348
v48 = x61 + x60 + x55 + x54 + x52 + x48 + x40 + x39 + x38 + x37 + x35 + x34 + x33 + x32 + x31 + x26 + x24 + x23 + x21 + x20 + x19 + x9 + x8 + x6 + x3

v49 = x98 (mod f)
v49 = b00000000000000000000000000000000000000000000000000000000000000000000111110101011110000111011110010011010010000010001001001001110
v49 = 0x00000000000000000fabc3bc9a41124e
v49 = x59 + x58 + x57 + x56 + x55 + x53 + x51 + x49 + x48 + x47 + x46 + x41 + x40 + x39 + x37 + x36 + x35 + x34 + x31 + x28 + x27 + x25 + x22 + x16 + x12 + x9 + x6 + x3 + x2 + x

v50 = x100 (mod f)
v50 = b00000000000000000000000000000000000000000000000000000000000000000011111010101111000011101111001001101001000001000100100100111000
v50 = 0x00000000000000003eaf0ef269044938
v50 = x61 + x60 + x59 + x58 + x57 + x55 + x53 + x51 + x50 + x49 + x48 + x43 + x42 + x41 + x39 + x38 + x37 + x36 + x33 + x30 + x29 + x27 + x24 + x18 + x14 + x11 + x8 + x5 + x4 + x3

v51 = x102 (mod f)
v51 = b00000000000000000000000000000000000000000000000000000000000000000011011001010011111111111100101100101000101100000011101110001110
v51 = 0x00000000000000003653ffcb28b03b8e
v51 = x61 + x60 + x58 + x57 + x54 + x52 + x49 + x48 + x47 + x46 + x45 + x44 + x43 + x42 + x41 + x40 + x39 + x38 + x35 + x33 + x32 + x29 + x27 + x23 + x21 + x20 + x13 + x12 + x11 + x9 + x8 + x7 + x3 + x2 + x

v52 = x104 (mod f)
v52 = b00000000000000000000000000000000000000000000000000000000000000000001010110100000001110110010111000101110011000011111000101010110
v52 = 0x000000000000000015a03b2e2e61f156
v52 = x60 + x58 + x56 + x55 + x53 + x45 + x44 + x43 + x41 + x40 + x37 + x35 + x34 + x33 + x29 + x27 + x26 + x25 + x22 + x21 + x16 + x15 + x14 + x13 + x12 + x8 + x6 + x4 + x2 + x

v53 = x106 (mod f)
v53 = b00000000000000000000000000000000000000000000000000000000000000000011000011110111000011101011100111111111110101110100101011101111
v53 = 0x000000000000000030f70eb9ffd74aef
v53 = x61 + x60 + x55 + x54 + x53 + x52 + x50 + x49 + x48 + x43 + x42 + x41 + x39 + x37 + x36 + x35 + x32 + x31 + x30 + x29 + x28 + x27 + x26 + x25 + x24 + x23 + x22 + x20 + x18 + x17 + x16 + x14 + x11 + x9 + x7 + x6 + x5 + x3 + x2 + x + 1

v54 = x108 (mod f)
v54 = b00000000000000000000000000000000000000000000000000000000000000000000111100110011111111101110010101110011111111000011010011010010
v54 = 0x00000000000000000f33fee573fc34d2
v54 = x59 + x58 + x57 + x56 + x53 + x52 + x49 + x48 + x47 + x46 + x45 + x44 + x43 + x42 + x41 + x39 + x38 + x37 + x34 + x32 + x30 + x29 + x28 + x25 + x24 + x23 + x22 + x21 + x20 + x19 + x18 + x13 + x12 + x10 + x7 + x6 + x4 + x

v55 = x110 (mod f)
v55 = b00000000000000000000000000000000000000000000000000000000000000000011110011001111111110111001010111001111111100001101001101001000
v55 = 0x00000000000000003ccffb95cff0d348
v55 = x61 + x60 + x59 + x58 + x55 + x54 + x51 + x50 + x49 + x48 + x47 + x46 + x45 + x44 + x43 + x41 + x40 + x39 + x36 + x34 + x32 + x31 + x30 + x27 + x26 + x25 + x24 + x23 + x22 + x21 + x20 + x15 + x14 + x12 + x9 + x8 + x6 + x3

v56 = x112 (mod f)
v56 = b00000000000000000000000000000000000000000000000000000000000000000011111111010000001010100101010110110011011000100101001001001110
v56 = 0x00000000000000003fd02a55b362524e
v56 = x61 + x60 + x59 + x58 + x57 + x56 + x55 + x54 + x52 + x45 + x43 + x41 + x38 + x36 + x34 + x32 + x31 + x29 + x28 + x25 + x24 + x22 + x21 + x17 + x14 + x12 + x9 + x6 + x3 + x2 + x

v57 = x114 (mod f)
v57 = b00000000000000000000000000000000000000000000000000000000000000000011001110101111011011010101010001000001001010000101011001010110
v57 = 0x000000000000000033af6d5441285656
v57 = x61 + x60 + x57 + x56 + x55 + x53 + x51 + x50 + x49 + x48 + x46 + x45 + x43 + x42 + x40 + x38 + x36 + x34 + x30 + x24 + x21 + x19 + x14 + x12 + x10 + x9 + x6 + x4 + x2 + x

v58 = x116 (mod f)
v58 = b00000000000000000000000000000000000000000000000000000000000000000000001001010010011100010101001110001000000000000100011000110110
v58 = 0x00000000000000000252715388004636
v58 = x57 + x54 + x52 + x49 + x46 + x45 + x44 + x40 + x38 + x36 + x33 + x32 + x31 + x27 + x14 + x10 + x9 + x5 + x4 + x2 + x

v59 = x118 (mod f)
v59 = b00000000000000000000000000000000000000000000000000000000000000000000100101001001110001010100111000100000000000010001100011011000
v59 = 0x00000000000000000949c54e200118d8
v59 = x59 + x56 + x54 + x51 + x48 + x47 + x46 + x42 + x40 + x38 + x35 + x34 + x33 + x29 + x16 + x12 + x11 + x7 + x6 + x4 + x3

v60 = x120 (mod f)
v60 = b00000000000000000000000000000000000000000000000000000000000000000010010100100111000101010011100010000000000001000110001101100000
v60 = 0x00000000000000002527153880046360
v60 = x61 + x58 + x56 + x53 + x50 + x49 + x48 + x44 + x42 + x40 + x37 + x36 + x35 + x31 + x18 + x14 + x13 + x9 + x8 + x6 + x5

v61 = x122 (mod f)
v61 = b00000000000000000000000000000000000000000000000000000000000000000011111000000100011100101110000111001010111000000001110101011001
v61 = 0x00000000000000003e0472e1cae01d59
v61 = x61 + x60 + x59 + x58 + x57 + x50 + x46 + x45 + x44 + x41 + x39 + x38 + x37 + x32 + x31 + x30 + x27 + x25 + x23 + x22 + x21 + x12 + x11 + x10 + x8 + x6 + x4 + x3 + 1

Represent v0-v61 as matrix Q
Q = 00000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000000000000000000000000000000100 00000000000000000000000000000000000000000000000000000000010000 00000000000000000000000000000000000000000000000000000001000000 00000000000000000000000000000000000000000000000000000100000000 00000000000000000000000000000000000000000000000000010000000000 00000000000000000000000000000000000000000000000001000000000000 00000000000000000000000000000000000000000000000100000000000000 00000000000000000000000000000000000000000000010000000000000000 00000000000000000000000000000000000000000001000000000000000000 00000000000000000000000000000000000000000100000000000000000000 00000000000000000000000000000000000000010000000000000000000000 00000000000000000000000000000000000001000000000000000000000000 00000000000000000000000000000000000100000000000000000000000000 00000000000000000000000000000000010000000000000000000000000000 00000000000000000000000000000001000000000000000000000000000000 00000000000000000000000000000100000000000000000000000000000000 00000000000000000000000000010000000000000000000000000000000000 00000000000000000000000001000000000000000000000000000000000000 00000000000000000000000100000000000000000000000000000000000000 00000000000000000000010000000000000000000000000000000000000000 00000000000000000001000000000000000000000000000000000000000000 00000000000000000100000000000000000000000000000000000000000000 00000000000000010000000000000000000000000000000000000000000000 00000000000001000000000000000000000000000000000000000000000000 00000000000100000000000000000000000000000000000000000000000000 00000000010000000000000000000000000000000000000000000000000000 00000001000000000000000000000000000000000000000000000000000000 00000100000000000000000000000000000000000000000000000000000000 00010000000000000000000000000000000000000000000000000000000000 01000000000000000000000000000000000000000000000000000000000000 10011001110111111000100000000101000110010100001000111110110111 11001101000111101011100000011011010011101100111010111000000101 00000111110001011111000001100111000010011011111010011101111010 00011111000101111100000110011100001001101111101001110111101000 01111100010111110000011001110000100110111110100111011110100000 01101000101000111001000111000111011101101110010101000100110111 00111011010100011100111100011000110000101101011100101101101011 11101101010001110011110001100011000010110101110010110110101100 10000110101000111110000110000110000111111111011010100111011110 10110000111011110001111000010111010101000001110011011110100001 01101001110111001110000001010010011110111011010100111001011101 00111110101011000000100101001100111101111001011011011011000011 11111010101100000010010100110011110111100101101101101100001100 11011001011111111000010011000101010010111110100111001101011110 01010110010000010000001100011111000111010010001101001000010110 11000000110110111000010001111001011011011100111100011111101111 00110000110100010000000111101111100001011011100000000011010010 11000011010001000000011110111110000101101110000000001101001000 00111110101011110000111011110010011010010000010001001001001110 11111010101111000011101111001001101001000001000100100100111000 11011001010011111111111100101100101000101100000011101110001110 01010110100000001110110010111000101110011000011111000101010110 11000011110111000011101011100111111111110101110100101011101111 00111100110011111111101110010101110011111111000011010011010010 11110011001111111110111001010111001111111100001101001101001000 11111111010000001010100101010110110011011000100101001001001110 11001110101111011011010101010001000001001010000101011001010110 00001001010010011100010101001110001000000000000100011000110110 00100101001001110001010100111000100000000000010001100011011000 10010100100111000101010011100010000000000001000110001101100000 11111000000100011100101110000111001010111000000001110101011001
Represent 62x62 identity matrix I
I = 00000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000000000000000000000000000000010 00000000000000000000000000000000000000000000000000000000000100 00000000000000000000000000000000000000000000000000000000001000 00000000000000000000000000000000000000000000000000000000010000 00000000000000000000000000000000000000000000000000000000100000 00000000000000000000000000000000000000000000000000000001000000 00000000000000000000000000000000000000000000000000000010000000 00000000000000000000000000000000000000000000000000000100000000 00000000000000000000000000000000000000000000000000001000000000 00000000000000000000000000000000000000000000000000010000000000 00000000000000000000000000000000000000000000000000100000000000 00000000000000000000000000000000000000000000000001000000000000 00000000000000000000000000000000000000000000000010000000000000 00000000000000000000000000000000000000000000000100000000000000 00000000000000000000000000000000000000000000001000000000000000 00000000000000000000000000000000000000000000010000000000000000 00000000000000000000000000000000000000000000100000000000000000 00000000000000000000000000000000000000000001000000000000000000 00000000000000000000000000000000000000000010000000000000000000 00000000000000000000000000000000000000000100000000000000000000 00000000000000000000000000000000000000001000000000000000000000 00000000000000000000000000000000000000010000000000000000000000 00000000000000000000000000000000000000100000000000000000000000 00000000000000000000000000000000000001000000000000000000000000 00000000000000000000000000000000000010000000000000000000000000 00000000000000000000000000000000000100000000000000000000000000 00000000000000000000000000000000001000000000000000000000000000 00000000000000000000000000000000010000000000000000000000000000 00000000000000000000000000000000100000000000000000000000000000 00000000000000000000000000000001000000000000000000000000000000 00000000000000000000000000000010000000000000000000000000000000 00000000000000000000000000000100000000000000000000000000000000 00000000000000000000000000001000000000000000000000000000000000 00000000000000000000000000010000000000000000000000000000000000 00000000000000000000000000100000000000000000000000000000000000 00000000000000000000000001000000000000000000000000000000000000 00000000000000000000000010000000000000000000000000000000000000 00000000000000000000000100000000000000000000000000000000000000 00000000000000000000001000000000000000000000000000000000000000 00000000000000000000010000000000000000000000000000000000000000 00000000000000000000100000000000000000000000000000000000000000 00000000000000000001000000000000000000000000000000000000000000 00000000000000000010000000000000000000000000000000000000000000 00000000000000000100000000000000000000000000000000000000000000 00000000000000001000000000000000000000000000000000000000000000 00000000000000010000000000000000000000000000000000000000000000 00000000000000100000000000000000000000000000000000000000000000 00000000000001000000000000000000000000000000000000000000000000 00000000000010000000000000000000000000000000000000000000000000 00000000000100000000000000000000000000000000000000000000000000 00000000001000000000000000000000000000000000000000000000000000 00000000010000000000000000000000000000000000000000000000000000 00000000100000000000000000000000000000000000000000000000000000 00000001000000000000000000000000000000000000000000000000000000 00000010000000000000000000000000000000000000000000000000000000 00000100000000000000000000000000000000000000000000000000000000 00001000000000000000000000000000000000000000000000000000000000 00010000000000000000000000000000000000000000000000000000000000 00100000000000000000000000000000000000000000000000000000000000 01000000000000000000000000000000000000000000000000000000000000 10000000000000000000000000000000000000000000000000000000000000
M = Q-I
M = 00000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000110 00000000000000000000000000000000000000000000000000000000010100 00000000000000000000000000000000000000000000000000000001001000 00000000000000000000000000000000000000000000000000000100010000 00000000000000000000000000000000000000000000000000010000100000 00000000000000000000000000000000000000000000000001000001000000 00000000000000000000000000000000000000000000000100000010000000 00000000000000000000000000000000000000000000010000000100000000 00000000000000000000000000000000000000000001000000001000000000 00000000000000000000000000000000000000000100000000010000000000 00000000000000000000000000000000000000010000000000100000000000 00000000000000000000000000000000000001000000000001000000000000 00000000000000000000000000000000000100000000000010000000000000 00000000000000000000000000000000010000000000000100000000000000 00000000000000000000000000000001000000000000001000000000000000 00000000000000000000000000000100000000000000010000000000000000 00000000000000000000000000010000000000000000100000000000000000 00000000000000000000000001000000000000000001000000000000000000 00000000000000000000000100000000000000000010000000000000000000 00000000000000000000010000000000000000000100000000000000000000 00000000000000000001000000000000000000001000000000000000000000 00000000000000000100000000000000000000010000000000000000000000 00000000000000010000000000000000000000100000000000000000000000 00000000000001000000000000000000000001000000000000000000000000 00000000000100000000000000000000000010000000000000000000000000 00000000010000000000000000000000000100000000000000000000000000 00000001000000000000000000000000001000000000000000000000000000 00000100000000000000000000000000010000000000000000000000000000 00010000000000000000000000000000100000000000000000000000000000 01000000000000000000000000000001000000000000000000000000000000 10011001110111111000100000000111000110010100001000111110110111 11001101000111101011100000011111010011101100111010111000000101 00000111110001011111000001101111000010011011111010011101111010 00011111000101111100000110001100001001101111101001110111101000 01111100010111110000011001010000100110111110100111011110100000 01101000101000111001000110000111011101101110010101000100110111 00111011010100011100111110011000110000101101011100101101101011 11101101010001110011110101100011000010110101110010110110101100 10000110101000111110001110000110000111111111011010100111011110 10110000111011110001101000010111010101000001110011011110100001 01101001110111001110100001010010011110111011010100111001011101 00111110101011000001100101001100111101111001011011011011000011 11111010101100000000010100110011110111100101101101101100001100 11011001011111111100010011000101010010111110100111001101011110 01010110010000011000001100011111000111010010001101001000010110 11000000110110101000010001111001011011011100111100011111101111 00110000110100110000000111101111100001011011100000000011010010 11000011010000000000011110111110000101101110000000001101001000 00111110101001110000111011110010011010010000010001001001001110 11111010101011000011101111001001101001000001000100100100111000 11011001011011111111111100101100101000101100000011101110001110 01010110110000001110110010111000101110011000011111000101010110 11000011010111000011101011100111111111110101110100101011101111 00111101110011111111101110010101110011111111000011010011010010 11110001001111111110111001010111001111111100001101001101001000 11111011010000001010100101010110110011011000100101001001001110 11000110101111011011010101010001000001001010000101011001010110 00011001010010011100010101001110001000000000000100011000110110 00000101001001110001010100111000100000000000010001100011011000 11010100100111000101010011100010000000000001000110001101100000 01111000000100011100101110000111001010111000000001110101011001
Find null basis vectors of M

nv0 = b00000000000000000000000000000000000000000000000000000000000000000001001001110000010000101110001001010001010011001000101011011100
nv0 = 0x0000000000000000127042e2514c8adc
nv0 = x60 + x57 + x54 + x53 + x52 + x46 + x41 + x39 + x38 + x37 + x33 + x30 + x28 + x24 + x22 + x19 + x18 + x15 + x11 + x9 + x7 + x6 + x4 + x3 + x2

nv1 = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
nv1 = 0x00000000000000000000000000000001
nv1 = 1

Add f to list of known factors (kf)

kfo = b0110011001110111111000100000000101000110010100001000111110110111
kfo = 0x6677e20146508fb7
kfo = x62 + x61 + x58 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x47 + x46 + x45 + x41 + x32 + x30 + x26 + x25 + x22 + x20 + x15 + x11 + x10 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1

For each null basis vector (excluding trivial 1), find known factor (kf) which can be factored.

nv0 = b0001001001110000010000101110001001010001010011001000101011011100
nv0 = 0x127042e2514c8adc
nv0 = x60 + x57 + x54 + x53 + x52 + x46 + x41 + x39 + x38 + x37 + x33 + x30 + x28 + x24 + x22 + x19 + x18 + x15 + x11 + x9 + x7 + x6 + x4 + x3 + x2

New factor (nf) = f/gcd(f,nv0)

nf = b0000000000000000000000000000000010110000110000010101001011111001
nf = 0x00000000b0c152f9
nf = x31 + x29 + x28 + x23 + x22 + x16 + x14 + x12 + x9 + x7 + x6 + x5 + x4 + x3 + 1

Search though known factors (kf) for which (nf) factors evenly

kf0 = b0110011001110111111000100000000101000110010100001000111110110111
kf0 = 0x6677e20146508fb7
kf0 = x62 + x61 + x58 + x57 + x54 + x53 + x52 + x50 + x49 + x48 + x47 + x46 + x45 + x41 + x32 + x30 + x26 + x25 + x22 + x20 + x15 + x11 + x10 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1

t = kf0/nf

tremainder = b0000000000000000000000000000000000000000000000000000000000000000
tremainder = 0x0000000000000000
tremainder = 0

tremainder == 0, nf is a factor of kf0

kf0 = nf // Replace kf0 with nf
kf1 = tquotient // Append tquotient to known factors list

tquotient = b0000000000000000000000000000000011101011111100101000001100011111
tquotient = 0x00000000ebf2831f
tquotient = x31 + x30 + x29 + x27 + x25 + x24 + x23 + x22 + x21 + x20 + x17 + x15 + x9 + x8 + x4 + x3 + x2 + x + 1

Known factors:

kf0 = b0000000000000000000000000000000010110000110000010101001011111001
kf0 = 0x00000000b0c152f9
kf0 = x31 + x29 + x28 + x23 + x22 + x16 + x14 + x12 + x9 + x7 + x6 + x5 + x4 + x3 + 1

kf1 = b0000000000000000000000000000000011101011111100101000001100011111
kf1 = 0x00000000ebf2831f
kf1 = x31 + x30 + x29 + x27 + x25 + x24 + x23 + x22 + x21 + x20 + x17 + x15 + x9 + x8 + x4 + x3 + x2 + x + 1

Current factorization of f:

f = (b10110000110000010101001011111001)(b11101011111100101000001100011111)
f = (0xb0c152f9)(0xebf2831f)
f = (x31 + x29 + x28 + x23 + x22 + x16 + x14 + x12 + x9 + x7 + x6 + x5 + x4 + x3 + 1)(x31 + x30 + x29 + x27 + x25 + x24 + x23 + x22 + x21 + x20 + x17 + x15 + x9 + x8 + x4 + x3 + x2 + x + 1)

See also: