Factorization Example
Author: cwl

A representation of the product (2x+3)(4x+2).
It is a nice puzzle to make physical pieces for the
green tiles and use them to determine the
factorization of 8x²+16x+6.

A = (1, 1)
B = (1, 4)
C = (2, 4)
D = (2, 1)
poly1, a, b, c, d = Polygon(A, B, C, D)
E = (2, 7)
F = (1, 7)
poly2, b_1, c_1, e, f = Polygon(B, C, E, F)
G = (2, 8)
H = (1, 8)
poly3, e_1, g, h, f_1 = Polygon(E, G, H, F)
I = (1, 9)
J = (2, 9)
poly4, g_1, h_1, i, j = Polygon(G, H, I, J)
K = (1, 10)
L = (2, 10)
poly5, j_1, i_1, k, l = Polygon(J, I, K, L)
M = (2, 0)
N = (5, 0)
O = (5, 1)
poly6, d_1, m, n, o = Polygon(D, M, N, O)
P = (8, 1)
Q = (8, 0)
poly7, o_1, p, q, n_1 = Polygon(O, P, Q, N)
R = (11, 1)
S = (11, 0)
poly8, p_1, r, s, q_1 = Polygon(P, R, S, Q)
T = (14, 1)
U = (14, 0)
poly9, r_1, t, u, s_1 = Polygon(R, T, U, S)
V = (15, 1)
W = (15, 0)
poly10, t_1, v, w, u_1 = Polygon(T, V, W, U)
Z = (16, 1)
A_1 = (16, 0)
poly11, v_1, z, a_1, w_1 = Polygon(V, Z, A_1, W)
B_1 = (5, 4)
poly12, o_2, d_2, c_2, b_2 = Polygon(O, D, C, B_1)
C_1 = (5, 7)
poly13, c_3, e_2, c_4, b_3 = Polygon(C, E, C_1, B_1)
D_1 = (5, 8)
poly14, c_5, e_3, g_2, d_3 = Polygon(C_1, E, G, D_1)
E_1 = (5, 9)
poly15, d_4, g_3, j_2, e_4 = Polygon(D_1, G, J, E_1)
F_1 = (5, 10)
poly16, e_5, j_3, l_1, f_2 = Polygon(E_1, J, L, F_1)
G_1 = (8, 4)
poly17, b_4, g_4, p_2, o_3 = Polygon(B_1, G_1, P, O)
H_1 = (8, 7)
poly18, b_5, g_5, h_2, c_6 = Polygon(B_1, G_1, H_1, C_1)
I_1 = (8, 8)
poly19, h_3, c_7, d_5, i_2 = Polygon(H_1, C_1, D_1, I_1)
J_1 = (8, 9)
poly20, i_3, d_6, e_6, j_4 = Polygon(I_1, D_1, E_1, J_1)
K_1 = (8, 10)
poly21, j_5, e_7, f_3, k_1 = Polygon(J_1, E_1, F_1, K_1)
L_1 = (11, 4)
poly22, r_2, p_3, g_6, l_2 = Polygon(R, P, G_1, L_1)
M_1 = (11, 7)
poly23, l_3, g_7, h_4, m_1 = Polygon(L_1, G_1, H_1, M_1)
N_1 = (11, 8)
poly24, m_2, h_5, i_4, n_2 = Polygon(M_1, H_1, I_1, N_1)
O_1 = (11, 9)
poly25, n_3, i_5, j_6, o_4 = Polygon(N_1, I_1, J_1, O_1)
P_1 = (11, 10)
poly26, o_5, j_7, k_2, p_4 = Polygon(O_1, J_1, K_1, P_1)
Q_1 = (14, 4)
poly27, l_4, q_2, t_2, r_3 = Polygon(L_1, Q_1, T, R)
R_1 = (14, 7)
poly28, q_3, l_5, m_3, r_4 = Polygon(Q_1, L_1, M_1, R_1)
S_1 = (14, 8)
poly29, r_5, m_4, n_4, s_2 = Polygon(R_1, M_1, N_1, S_1)
T_1 = (14, 9)
poly30, s_3, n_5, o_6, t_3 = Polygon(S_1, N_1, O_1, T_1)
U_1 = (14, 10)
poly31, t_4, o_7, p_5, u_2 = Polygon(T_1, O_1, P_1, U_1)
V_1 = (15, 4)
poly32, q_4, v_2, v_3, t_5 = Polygon(Q_1, V_1, V, T)
W_1 = (15, 7)
poly33, v_4, q_5, r_6, w_2 = Polygon(V_1, Q_1, R_1, W_1)
Z_1 = (15, 8)
poly34, w_3, r_7, s_4, z_1 = Polygon(W_1, R_1, S_1, Z_1)
A_2 = (15, 9)
poly35, z_2, s_5, t_6, a_2 = Polygon(Z_1, S_1, T_1, A_2)
B_2 = (15, 10)
poly36, a_3, t_7, u_3, b_6 = Polygon(A_2, T_1, U_1, B_2)
C_2 = (16, 4)
poly37, z_3, v_5, v_6, c_8 = Polygon(Z, V, V_1, C_2)
D_2 = (16, 7)
poly38, c_9, v_7, w_4, d_7 = Polygon(C_2, V_1, W_1, D_2)
E_2 = (16, 8)
poly39, d_8, w_5, z_4, e_8 = Polygon(D_2, W_1, Z_1, E_2)
F_2 = (16, 9)
poly40, e_9, z_5, a_4, f_4 = Polygon(E_2, Z_1, A_2, F_2)
G_2 = (16, 10)
poly41, f_5, a_5, b_7, g_8 = Polygon(F_2, A_2, B_2, G_2)