本题是一道数学题。
首先如果第一行的数的最大公因数非1则输出No。
否则,利用拓展欧几里得算法解ax + by = gcd (a, b),将系数配好正负号填在对应头两个数a, b的下方,使2阶主子式值为gcd (a, b)。此时a, b最大公因数为1,在其下方重复操作使这个小方阵行列式值为1。
利用数学归纳法,每在第一行的末尾引入一个新的数an时,对gcd (a1, a2, …, an-1) 与 an使用拓展欧几里得,再配下方的系数,使得每个k阶主子式值都为gcd (a1, …, ak),从而最终行列式值为1。注意判断n = 1的情况。