"Test_Sudoku()" is a own function made by me to check, When a user puts all value in Sudoku, it check, whether it is right or wrong , i code  this function with
 simply checking row - column, and column - row whether the all 1-9
 numbers are Distinct number, then return Solved else, not.. if u want to check, u can solve this puzzle by showing its ans. its given least under the code
with /* Numbers */ sign.

Solution Code :

#include<bits/stdc++.h>
#include<windows.h>
typedef long long LL;

using namespace std;

string l;
string a[10];
char s[10][10], Prev[10][10];


void colorPrint(int k)
{
    HANDLE hConsole;
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, k);
}

void Asign()
{
    a[0]="3-8792--1";
    a[1]="1-26-5837";
    a[2]="657-83-94";
    a[3]="-798-156-";
    a[4]="21-456-89";
    a[5]="58-2-9413";
    a[6]="-6-32497-";
    a[7]="9-456-128";
    a[8]="7-591-34-";

    for(int i=0;i<9;i++)
    {
        l = a[i];
        for(int j=0;j<9;j++)
        {
            s[i][j] = l[j];
            Prev[i][j] = l[j];
        }
    }
}

LL updateArray(LL r, LL c, LL v)
{
    if(r>9 || r<1 ||c>9 || c<1 || v>9|| v<0 || (Prev[r-1][c-1]!='-')){
        return 1;
    }
    else if(v==0) {s[r-1][c-1]='-'; return 0;}
    else {s[r-1][c-1]='0'+v; return 0;}
}

void showArray()
{
    int i,j;

    printf("\n\n\t\t  SUDOKU TABLE\n\n\n");
    printf("\t  ");

    for(i=0;i<=14;i++) printf("==");
    printf("\n\t  | 1  2  3 | 4  5  6 | 7  8  9 |\n\t");
    for(i=0;i<=15;i++) printf("==");
    puts("|");
    for(i=0;i<9;i++)
    {
        cout<<"\t|"<<i+1<<"| ";
        for(j=0;j<9;j++){
            if(Prev[i][j]!='-')
            {
                colorPrint(3);
                cout<<s[i][j];
                colorPrint(15);
            }
            else {cout<<s[i][j];}
            if(j==2 || j==5 || j==8) cout<<" | ";
            else cout<<"  ";
        }
        cout<<endl;
        if(i!=2 && i!=5) printf("\t| |         |         |         |\n");
        else printf("\t| |-----------------------------|\n");
    }
    printf("\t=================================\n\n\n\n");
}


LL Test_Sudoku(LL flag)
{
    LL f, t;
    for(int i=0;i<9;i++)/// For Row- Column
    {
        LL a[10]={0} , f=1;
        for(int j=0;j<9;j++)
        {
            t= s[i][j]-49;
            a[t]=a[t]+1;
        }
        for(int i=0;i<9;i++)
        {
            if(a[i]!=1){ f= 0; break ;}
        }
        if(f==0){ flag = 0; break ;}
    }

    for(int j=0;j<9;j++) /// For Column - row
    {
        LL a[10]={0} , f=1;
        for(int i=0;i<9;i++)
        {
            //cout<<s[i][j]-49<<" ";
            t= s[i][j]-49;
            a[t]=a[t]+1;
        }
        for(int i=0;i<9;i++)
        {
            if(a[i]!=1){ f= 0; break ;}
        }
        if(f==0){ flag = 0; break ;}
    }

    if(flag==1){return 1;}
    else{return 0;}
}

    void clrscr() { system("cls"); }

int main()
{
    LL row, column, value, N;
    Asign();
    while(Test_Sudoku(1)==0)
    {
        showArray();
        cout<<"Please select a position by giving Row and Column number of the position."<<endl;
        cout<<"Then enter the value that you want to put on the position.\nSelect value 1-9 for putting on the place or 0 for clearing a cell\n\n";
        cout<<"Row= ";
        cin>>row;
        cout<<"Column= ";
        cin>>column;
        cout<<"Value= ";
        cin>>value;
        updateArray(row, column, value);
        if(updateArray(row, column, value)==1){
            cout<<"You Entered a Invalid Value, ok ?\n\tNow Press 1 For New Value"<<endl;
            while(cin>>N){ if(N==1){clrscr(); break;} else{cout<<"\tPlease, Press 1 For New Value"<<endl;}}
        }
        else{clrscr();}
    }
    showArray();
    cout<<"CONGRATULATION!!! YOU HAVE SOLVED THE SUDOKU!!\n\n\n\n"<<endl;
    return 0;
}

/*
348792651
192645837
657183294
479831562
213456789
586279413
861324975
934567128
725918346
*/