public static void main(String[] args)
   {
      boolean helpFlag = false;
      
      //Get options using GetOpt.java
      GetOpt go = new GetOpt( args, "hes" );
      if ( args.length==0 ) helpFlag = true;
      go.optErr = true;
      int ch = -1;
      while ( ( ch = go.getopt() ) != go.optEOF ) {
         if ( (char)ch == 'h' ){
            helpFlag = true;
         } else if ( (char)ch == 's' ){
            printStepsFlag = true;
         } else if ( (char)ch == 'e' ){
            echelonFlag = true;
         } else Usage();
      }
        
      if ( helpFlag ) printHelp();
      
      //Convert file into matrix array
      Fraction[][] matrix = getMatrix ( args[go.optIndexGet()] );
        
      //Print initial matrix
      out.printf( "Initial Matrix is %d x %d\n", rows, columns );
      printMatrix( matrix );
        
      //Reduce and print final matrix.
      reduceMatrix( matrix );
      if ( echelonFlag ) out.printf( "\nRow echelon form:\n" );
      else out.printf( "\nReduced row echelon form:\n" );
      printMatrix( matrix );
            
      System.exit(0);
   }