主要的演算法是用深入優先搜尋(DFS,Depth First Search)的方法,將一個盤面有可能的下一步走法全部找出來,然後用深入優先搜尋法,去展開棋盤的樹,一直展開到找到剩下一顆棋子的時候(表示找到解了),便停止繼續搜尋。除此之外,利用電腦的記憶優勢,我們配合應用去除互相獨立的走法(如前文所介紹的),以及使用Hashing的方式,把走過無解的盤面,紀錄下來,如此每次應用這個檔案,就可以不用再費時展開那些會展開到無解的盤面,並且隨著每次的紀錄,到後來我們便不會再犯相同的錯誤,也就是說我們不會再第二次試著展開那些將會展開至無解盤面的棋盤組合,也就會讓我們每次求解的速度愈來愈快。這就是說,我們可以讓電腦在解孔明棋時,愈來愈「聰明」,並且我們可以預期的是,在將所有的盤面走過的情況之下,電腦要解孔明棋的任意盤面,那都可以在一眨眼的時間之內就解出來。我們的演算法如下: