#include <stdio.h>
#include <stdlib.h>

int t[9],tagen[9];
char sif[10];

void MLX(int nr){
  int p,n0,n1,n2;
  if(nr==9){ // Alla siffror ifyllda, kolla nu om det stammer!
    n0=t[3]*10+t[4];
    n1=t[5]*10+t[6];
    n2=t[7]*10+t[8];
    if(t[0]*n1*n2+t[1]*n0*n2+t[2]*n0*n1==n0*n1*n2) {
      printf("%d/%d + %d/%d + %d/%d = 1\n",t[0],n0,t[1],n1,t[2],n2);
      exit(0);
    }
  }
  else { //Valj en av de inmatade siffrorna som inte ar tagen 
         //och rekursera till nasta position.
    for(p=0;p<9;p++) if(!tagen[p]) {
      tagen[p]=1;
      t[nr]=sif[p]-'0';
      MLX(nr+1);
      tagen[p]=0;
    }
  }
}
int main(){
  int a;
  printf("Vilka siffror ? ");
  scanf("%s",sif);
  for(a=0;a<9;a++) tagen[a]=0;
  MLX(0);
  return 0;
}
