Solution based on primitive roots of unity for 421 (runs in 2 mins).