我终于会写高斯消元啦!
P.S.这份代码里没有对解是否唯一的判定。关于这部分详情请见高斯消元模板

#include<bits/stdc++.h>
using namespace std;
int n;
const double eps=1e-8;
double a[22][22],mat[22][22];
void Gauss(){
    for(int i=1;i<=n;i++){
        int p=i;
        for(int j=i+1;j<=n;j++)
        if(fabs(mat[j][i])>fabs(mat[p][i]))p=j;
        if(p^i)swap(mat[p],mat[i]);
        if(fabs(mat[i][i])<eps)continue;
        for(int j=1;j<=n;j++){
            if(i!=j&&fabs(mat[j][i])>eps){
                double t=mat[i][i]/mat[j][i];
                for(int k=1;k<=n+1;k++)
                    mat[j][k]=mat[j][k]*t-mat[i][k];
            }
        }
    }
    for(int i=1;i<=n;i++){
        printf("%.3lf ",mat[i][n+1]/mat[i][i]);
    }
}
int main(){
    scanf("%d",&n);
    for(int i=0;i<=n;i++)
    for(int j=1;j<=n;j++){
        scanf("%lf",&a[i][j]);
        if(i){
            mat[i][j]=2*(a[i][j]-a[i-1][j]);
            mat[i][n+1]+=(a[i][j]*a[i][j]-a[i-1][j]*a[i-1][j]);
        }
    }
    Gauss();
}


"Alone is what I have. Alone protects me." -Sherlock Holmes