Given a graph G (V, E), we can construct G' (V ∪ {v1, v2}, E ∪ (v1, v2)),
s.t. ∀ v ∈ V, (v, v1) ∉ E, (v, v2) ∉ E.
In other word, we add an independent arc in G to get G'.
If G' has two long paths, it must have a path which is (v1, v2). Therefore, G has a Hamiltonian path.
If G has a Hamiltonian path, then G' must have two long paths, which are the Hamiltonian path in G and path v1v2.