Witam wszystkich,
staram się napisać prosty program obliczający wartość funkcji, który po podaniu wartości najwyższego wykładnika zapyta o współczynniki A,B,C itd w zależności od wartości wykładnika, następnie obliczy f(x) oraz narysuje wykres w .png.

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
Console.WriteLine("Wpisz wartosc najwyzszego wykladnika:");
            int iloscN = int.Parse(Console.ReadLine());
  double[] wartosc_poteg = new double[iloscN];

            for (int i = 0; i < iloscN; i++)
            {
             
                wartosc_poteg[i] = iloscN- i;
            }

Tutaj program pobiera od użytkownika wartość największego wykładnika oraz tworzy tablice potrzebną do obliczenia f(x)

 double[] X = new double[iloscN];

            for (int i = 0; i < iloscN; i++)
            {
                X[i] = i;
            }

Tworze tablice dla x-ów od zera do takiej wartości potęgi najwyższego wykładnika (takie założenie)

double[] wspolczynniki = new double[iloscN];

            for (int i = 0; i < iloscN; i++)
            {
                
                wspolczynniki[i] = double.Parse(Console.ReadLine());
                Console.WriteLine("Wcisnij Enter");
            }

Wpisywanie wartości współczynników i zapisywanie go do tablicy

  for (int j = 0; j < iloscN; j++)
            {        
      for (int i = 0; i < iloscN; i++)
                     {
                         funkcjaY[j] += wspolczynniki[i] * Math.Pow(X[j],wartosc_poteg[i]);
                    // Console.WriteLine("{0}*{1}^{2}=", wspolczynniki[i], X[j], wartosc_poteg[i]);
                    // Console.WriteLine(funkcjaY[j]);
                     }
                 
                 //Console.WriteLine(funkcjaY[j]);
 
             }


            Console.ReadLine();

Obliczanie f(x) – jak sprawdzałem wszystko wychodzi poprawnie, usuwając komentarze można sprawdzić poprawność wyników

Do tego momentu wszystko działa poprawnie, jednak tutaj zaczyna się mój problem.

var chart = new Chart();
            chart.Size = new Size(1000, 500);

            var chartArea = new ChartArea();
            chartArea.AxisX.LabelStyle.Format = "";
            chartArea.AxisX.MajorGrid.LineColor = Color.LightGray;
            chartArea.AxisY.MajorGrid.LineColor = Color.LightGray;
            chartArea.AxisX.LabelStyle.Font = new Font("Consolas", 8);
            chartArea.AxisY.LabelStyle.Font = new Font("Consolas", 8);
            chart.ChartAreas.Add(chartArea);

            var series = new Series();
            series.Name = "Series1";
            series.ChartType = SeriesChartType.Spline;
            series.XValueType = ChartValueType.Double;
            chart.Series.Add(series);
	// rodzaj wykresu itd

            chart.Series["Series1"].Points.DataBindXY(X, funkcjaY);
	//podawanie X i Y dla funkcji

            chart.Invalidate();
	//rysowanie funkcji
	
            chart.SaveImage("chart.png", ChartImageFormat.Png);
	//zapisywanie do pliku

Jest to kod, który znalazłem w jednym z tematów na innym forum. Mam problem z tym fragmentem kodu:

chart.Series["Series1"].Points.DataBindXY(X, funkcjaY);

Jeśli ręcznie w programie wypisałbym jedną i drugą tablice w postaci

X[0] = 0;
X[1] = 1; 
itd

tak samo dla tablicy funkcjaY to cały wykres rysuje się poprawie.
Identycznie jest w sytuacji gdybym ręcznie zapisał wartości w tablic w klamrach

 double[] X = new double[] { 0,1, 2, 3, 4 , itd};

Jeśli jednak zostawiam to na wykresie nie wyświetla mi się nic, a ja chciałbym jakby "wywołać" moje X otrzymane w tablicy poprzez petle for oraz funkcjeY otrzymaną poprzez obliczenia wykonane w pętli for.
Jest w ogóle jakaś możliwość rozwiązania tego problemu, tak abym nie musiał wpisywać tego ręcznie tylko program w jakis sposób "wywołał" wartości moich tablic?