This is the path I used, the directions in "()" are the forced moves
Left (Down) Left Left (Right) Down (Down) Down Down (Right) Up (Down) Right Right (Right) Up (Down) Up Up (Right) Left (Down) Up Right (Right) Up (Down) Up Up (Right) Left (Down) Up Left (Right) Up (Down) Up Left (Right) Left (Down) Up Left