#include <vector>
#include <cmath>
#include <iostream>

double f(double x);
std::vector<double> get_g(const std::vector<double>& x);
std::vector<double> get_x(int N);
std::vector<double> analytical_solution(const std::vector<double>& x);
double relative_error(const std::vector<double>& v, const std::vector<double>& u);
void debug_print(const std::vector<double>& v, const std::string& name);