for (int i = 0; i < MAXDIM; i++) {
        int j = MAXDIM - i - 1;
        dm[i] = dm[i] * dm[j] - 1;
    }

どうみてもCにしか見えないな
こんなものに.net使う意味があるのか?