So I use the MWE from manual. 
Only with the slight difference of adding to variables to solve, so that I get a 2d_array.
Then , I need the solution of  each variable seperately into an array to pass to other functions that use arrays. Thing is, this works in 1d_array as mentinoned below, but can't make it work with 2d array.
Any idea/hints?
Code:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include "diffequations.h"
#include "stdafx.h"
using namespace alglib;
void ode_function_1_diff(const real_1d_array &y, double x, real_1d_array &dy, void *ptr) 
{
    // this callback calculates f(y[],x)=-y[0]
//CHANGE -> now it's two functions, f(y,x)=-y[0],-0.5y[0] so it actually returns [y[0] ,y[1]] on results
    dy[0] = -y[0];
    dy[1] = -0.5*y[0];
}
int main(int argc, char **argv)
{
    real_1d_array y;
    double _r1[] = {1, 3};
    y.setcontent(2,_r1);
    real_1d_array x = "[0, 1, 3]";
    double eps = 0.00001;
    double h = 0;
    odesolverstate s;
    ae_int_t m;
    real_1d_array xtbl;
    real_2d_array ytbl;
    odesolverreport rep;
    odesolverrkck(y, x, eps, h, s);
    alglib::odesolversolve(s, ode_function_1_diff);
    odesolverresults(s, m, xtbl, ytbl, rep);
    printf("%d\n", int(m)); 
    printf("%s\n", xtbl.tostring(2).c_str()); 
    //double *test = double* xtbl
    double* FC_array = &xtbl.getcontent()[0];  //CHANGE: THIS WORKS -> Can get 1d_array to normal Array and works well
    printf("%f\n", FC_array[1]); // EXPECTED: [0, 1, 3]
    printf("%f\n", xtbl.getcontent()[0]); // EXPECTED: [0, 1, 3]
    printf("going to check 2d_array->array\n"); // here I Tried to do the same, for solution (and then figure out how to get only 1st itme of each row)
//THIS DOESN'T WORK
//double* F2C_array = &ytbl.getcontent()[0];  //
    return 0;
}